자바스크립트에서 변수를 선언할 때 let
과 const
키워드를 사용할 수 있습니다. 이 두 키워드는 변수의 가시성 및 스코프 체인에 영향을 줍니다. 이번 글에서는 let
과 const
의 차이점과 각각의 특징을 살펴보겠습니다.
1. let
키워드
let
은 블록 범위 지역 변수를 선언합니다. 이는 변수가 선언된 블록({ }
) 유효범위 안에서만 접근할 수 있음을 의미합니다. 또한, 재할당이 가능합니다.
예를 들어:
function demoFunction() {
let x = 10;
if (true) {
let x = 20; // 다른 블록 범위에 새로운 변수로 선언됨
console.log(x); // 출력: 20
}
console.log(x); // 출력: 10
}
위 코드에서 let x = 20;
은 새로운 블록 범위 내에 새 변수를 선언합니다.
2. const
키워드
const
는 상수를 선언하는데 사용됩니다. 한번 값을 할당하면 이후에는 값을 변경할 수 없습니다. 하지만, 객체나 배열과 같은 값들은 변경이 가능합니다. 또한, const
로 선언된 변수는 블록 범위 지역 변수이며, let
과 같이 블록 범위가 적용됩니다.
예를 들어:
const PI = 3.141592;
PI = 3; // 에러: 상수에 다시 할당할 수 없음
const myArray = [1, 2, 3];
myArray.push(4); // 가능: 배열의 내용을 변경하는 것은 가능
3. 스코프 체인
let
과 const
모두 블록 유효범위를 따릅니다. 이는 변수가 선언된 블록 내에서만 접근 가능하고, 해당 블록이 포함된 다른 블록 내에서는 접근할 수 없음을 의미합니다. 이러한 특성은 스코프 체인과 관련이 있습니다.
결론
let
과 const
는 모두 블록 범위 변수를 선언할 때 사용되며, 스코프 체인에 따라 변수의 가시성을 제어합니다. let
은 재할당이 가능한 변수를 선언할 때 사용되며, const
는 한번 할당한 값을 변경할 수 없는 상수를 선언할 때 사용됩니다. 이러한 차이점을 이해하고 적절히 활용하면 코드의 가독성과 안정성을 높일 수 있습니다.
참고 문헌: Mozilla Developer Network - let, Mozilla Developer Network - const
이상으로 let
과 const
의 가시성과 스코프 체인에 대해 알아보았습니다. 감사합니다.