
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는 구식의 변수 선언 방식으로 간주됩니다.