var
와 let
은 JavaScript에서 변수를 선언하는 데 사용되는 키워드입니다. 이 두 키워드의 주요 차이점은 변수의 범위(scope)입니다.
var
는 함수 범위(function scope)를 가지고 있습니다. 즉, var
로 선언된 변수는 해당 함수 내에서만 유효하며, 함수 외부에서는 접근할 수 없습니다.
function example() {
var x = 10;
console.log(x); // 출력: 10
}
console.log(x); // 오류: x는 정의되지 않음
위의 예제에서 var x = 10;
은 example()
함수 내에서 선언된 변수 x
를 의미합니다. 따라서 console.log(x);
는 example()
함수 내부에서 실행될 때만 변수 x
에 접근할 수 있습니다.
let/const의
은 블록 범위(block scope)를 가지고 있습니다. 즉, let/const의
으로 선언된 변수는 해당 블록 내에서만 유효하며, 블록 외부에서는 접근할 수 없습니다. 블록은 중괄호 {}
로 구분되는 영역을 의미합니다.
function example() {
if (true) {
let x = 10;
console.log(x); // 출력: 10
}
console.log(x); // 오류: x는 정의되지 않음
}
위의 예제에서 let x = 10;
은 if
문 내에서 선언된 변수 x
를 의미합니다. 따라서 console.log(x);
는 if
문 내부에서 실행될 때만 변수 x
에 접근할 수 있습니다.
let/const의
을 사용하면 변수의 유효 범위를 더욱 정확하게 제어할 수 있습니다. ES6부터는 let
과 const
를 사용하는 것을 권장하며, var
는 구식의 변수 선언 방식으로 간주됩니다.