자바스크립트에서 변수 선언의 방법에는 3가지 키워드를 사용한다.
1. var 키워드(ES5 이전) : 이전 버전의 자바스크립트에서 사용되는 변수 선언 방법. 변수가 함수 스코프를 가지게 된다.
ex) var x = 10;
2. let 키워드(ES6 이후) : 블록 스코프 변수를 선언하는 데 사용. 블록 스코프 변수는 해당 블록 내에서만 유효하다.
ex) let y = 20;
3. const 키워드 (ES6 이후) : 상수를 선언하는 데 사용. 한 번 값을 할당하면 재할당할 수 없다. 블록 스코프이다.
ex) const z = 30;
재할당이 불가능하기 때문에 변수 선언 및 초기화 후 z = 20; 같은 명령을 할 수 없다.
스코프에 대해서 간단히 설명하자면
var 키워드의 경우, 함수를 제외한 다른 블록에서 선언된 var 지역 변수가 전역변수처럼 사용된다.
function check() {
var x=10;
}
console.log(x);
위의 코드는 ReferenceError: x is not defined 오류가 발생한다.
함수 안에 선언된 지역변수를 전역에서 찾을 수 없는 것이다.
하지만 함수를 제외한 나머지 블럭문에서는
if (true) {
var x=10;
}
console.log(x);
결과 10이 정상적으로 출력된다.
만약에 위 코드에서 let과 const 키워드로 변수를 선언한다면 블록 스코프이기 때문에 어느 블록에서도 지역 변수가 되어 오류가 발생한다.
'학습 > Java Script' 카테고리의 다른 글
[JavaScript]호이스팅(hoisting) (1) | 2023.10.15 |
---|---|
식별자(identifier) (0) | 2023.10.12 |
변수(variable) (0) | 2023.10.12 |