[javascript] var, let, const의 변수 생성 시점
자바스크립트에서 변수를 생성하는 세 가지 방법으로 var
, let
, const
키워드를 사용할 수 있습니다. 각각의 키워드는 변수를 생성하는 시점과 변수의 범위에 영향을 미칩니다.
var 키워드
var
키워드는 변수를 함수 스코프로 선언합니다. 함수 스코프 변수는 함수 내에서만 접근할 수 있습니다. var
로 선언한 변수는 해당 함수의 맨 위로 끌어올려지며, 이를 “호이스팅”이라고 합니다.
function foo() {
console.log(a); // undefined
var a = 5;
console.log(a); // 5
}
let 키워드
let
키워드는 블록 스코프 변수를 선언합니다. 블록 스코프 변수는 해당 블록 내에서만 접근할 수 있습니다.
{
let x = 2;
console.log(x); // 2
}
console.log(x); // ReferenceError: x is not defined
const 키워드
const
키워드는 블록 스코프 상수를 선언합니다. 한 번 할당된 값을 변경할 수 없습니다.
const PI = 3.14;
PI = 3; // TypeError: Assignment to constant variable.
따라서, var
는 함수 스코프 변수를 생성하고, let
과 const
는 블록 스코프 변수 및 상수를 생성합니다. 올바른 변수 생성과 범위 확보를 위해 적절한 키워드를 선택하는 것이 중요합니다.