이번 포스팅은 JavaScript에서의 변수에 대해 알아보겠습니다.이 포스팅을 통해 변수의 정의부터 JavaScript에서의 변수 사용법, 식별자와 그 규칙에 대해 배워보도록 하겠습니다.
변수 (Variable)란?
변수는 프로그래밍에서 매우 중요한 요소입니다. 그렇다면 변수가 무엇일까요? 변수는, 데이터를 담아두는 공간을 의미합니다. 이는 프로그램에서 사용되는 데이터를 일정 기간 동안 기억하여 필요한 때에 다시 사용하기 위해 데이터에 고유의 이름인 식별자를 명시한 것입니다.
- 식별자 : 어떤 대상을 유일하게 식별할 수 있는 이름
- 변수명 : 변수에 명시한 고유한 식별자
- 변수값 : 변수로 참조할 수 있는 데이터 값
JavaScript에서의 변수
그렇다면 JavaScript에서 변수는 어떻게 사용될까요? JavaScript는 동적 타입의 언어입니다. 이는 변수의 타입 지정 없이 값이 할당되는 과정에서 자동으로 변수의 타입이 결정된다는 것을 의미합니다. 즉, 변수는 고정된 타입이 없으며 같은 변수에 여러 타입의 값을 자유롭게 할당할 수 있다는 특징이 있습니다.
변수를 선언하는 방법
변수는 var, let, const 키워드를 사용하여 선언하고, 할당 연산자(=)를 사용해 값을 할당합니다. 그리고 식별자인 변수명을 사용해 변수에 저장된 값을 참조할 수 있습니다.
var name = "Alice"; // var 키워드를 사용한 변수 선언
let age = 20; // let 키워드를 사용한 변수 선언
const country = "Korea"; // const 키워드를 사용한 변수 선언
console.log(name); // "Alice" 출력
console.log(age); // 20 출력
console.log(country); // "Korea" 출력
위 예시코드에서 우리는 세 가지 키워드를 사용하여 변수를 선언하고 초기화했습니다. 그리고 console.log를 사용하여 각 변수의 값을 출력했습니다.
// 변수의 선언과 할당
var average = (50 + 100) / 2;
console.log(average); // 출력 결과: 75
위의 코드에서 보시다시피 average라는 변수에는 75라는 값을 구하는 식을 선언과 동시에 할당하였습니다.
변수는 애플리케이션에서 한 번 쓰고 버리는 값이 아닌 일정 기간 유지할 필요가 있는 값에 사용하며, 변수를 사용하면 값의 의미가 명확해져서 코드의 가독성이 좋아집니다. 따라서 변수의 존재 목적을 쉽게 이해할 수 있도록 의미 있는 변수명을 지정하는 것이 중요합니다.
변수 명명 규칙
변수를 선언할 때 지어주는 이름(변수명)을 식별자(Identifier)라고 부르며 JavaScript에서 식별자는 몇 가지 규칙을 반드시 따라야 합니다.
- 숫자가 포함될 수 있다.
- 알파벳이 포함될 수 있다.
- $가 포함될 수 있다.
- _(underscore)가 포함될 수 있다.
- 영문자의 대소문자를 구분한다.
- 단, 숫자로 시작할 수 없다.
- JavaScript Keyword( = Reserved Words, 예약어)는 식별자가 될 수 없다.
예시를 통해 JavaScript에서 식별자를 어떻게 사용하는지 알아보겠습니다.
var _status = true; // 유효 - 언더스코어로 시작할 수 있음
var $price = 100; // 유효 - $로 시작할 수 있음
var student1 = "Bob";// 유효 - 숫자를 포함할 수 있지만 시작할 수는 없음
var my$ = 50; // 유효 - $를 포함할 수 있음
var 7start; // 무효 - 식별자는 숫자로 시작할 수 없음
var let = 20; // 무효 - "let"은 JavaScript의 예약어임
위의 예시에서, 첫 번째 세 개의 변수명은 JavaScript의 규칙을 따르고 있습니다. 반면에 마지막 두 개의 변수명은 규칙을 위반하고 있으며, 이는 코드 실행에 오류를 일으킬 것입니다. 이러한 식별자 규칙을 이해하고 따르는 것은 코드의 정확성을 유지하는 데 중요합니다.
변수의 재할당
JavaScript에서는 var, let, const 등의 키워드를 이용해 변수를 선언할 수 있습니다. 여기서 var와 let은 변수에 값을 재할당할 수 있지만, const는 상수를 선언하는 키워드로 변수에 값을 한 번 할당하면 재할당이 불가능합니다.
다음 예시를 통해 이를 살펴봅시다.
var greeting = "Hello, world!";
console.log(greeting); // "Hello, world!" 출력
greeting = "Hello, JavaScript!";
console.log(greeting); // "Hello, JavaScript!" 출력
위 코드에서 greeting이라는 이름의 변수를 선언하고 "Hello, world!"라는 문자열을 할당했습니다. 그 후 변수에 "Hello, JavaScript!"라는 새로운 문자열을 할당하였습니다. 변수의 값을 재할당하는 것이 가능하므로, 출력 결과는 두 번째에 할당된 값인 "Hello, JavaScript!"가 출력됩니다.
반면 const를 사용하면 어떻게 될까요?
const greeting = "Hello, world!";
console.log(greeting); // "Hello, world!" 출력
greeting = "Hello, JavaScript!";
console.log(greeting); // TypeError: Assignment to constant variable.
const로 선언된 greeting 변수에 "Hello, JavaScript!"를 재할당하려 하면, "Assignment to constant variable."라는 에러 메시지가 출력됩니다. 이는 const 키워드로 선언된 변수는 재할당이 불가능하기 때문입니다.
이처럼 JavaScript에서는 변수의 선언 및 할당 방법에 따라 그 동작이 달라집니다. 따라서 자신의 코드에서 어떤 변수가 재할당이 필요한지, 필요 없는지를 판단하여 적절한 키워드를 선택하는 것이 중요합니다.