728x90
자바스크립트 변수 선언에 관하여
자바스크립트에서 변수 선언 방식에는 var, let, const의 세 가지 방법이 있습니다. 이 글에서는 각 선언 방식의 특징과 사용법, 그리고 차이점에 대해 자세히 알아보겠습니다.
1. var
var는 자바스크립트에서 초기부터 사용된 변수 선언 방식으로, 함수 스코프를 따릅니다. 그러나 최근에는 사용 빈도가 크게 줄어들었습니다.
- 스코프(Scope): 함수 스코프 (선언된 함수에서 어디든 접근 가능)
- 호이스팅(Hoisting): 변수 선언이 스코프 최상단으로 끌어올려지지만 값은 초기화되지 않음
- 재선언 가능: 같은 스코프 내에서 동일한 이름의 변수 재선언 가능
function example() {
if (true) {
var x = 10;
}
console.log(x); // 10 (블록 밖에서도 접근 가능)
}
example();
2. let
let은 ES6에서 도입된 변수 선언 방식으로, 블록 스코프를 준수하며 현대 자바스크립트에서 가장 자주 사용되는 선언 방식입니다.
- 스코프(Scope): 블록 스코프 (해당 블록 내에서만 접근 가능)
- 호이스팅(Hoisting): 선언 전에는 "Temporal Dead Zone" 상태
- 재선언 불가: 스코프 내에서 동일 이름 변수 재선언 불가능
function example() {
if (true) {
let y = 20;
console.log(y); // 20
}
// console.log(y); // ReferenceError: y is not defined
}
example();
728x90
3. const
const는 상수를 선언할 때 사용하는 키워드로, 재할당이 불가하며 선언 시 반드시 초기값을 설정해야 합니다.
- 스코프(Scope): 블록 스코프 (let과 동일)
- 호이스팅(Hoisting): 선언 전에는 "Temporal Dead Zone" 상태
- 재선언 불가: 재할당 및 재선언 불가
const z = 30;
console.log(z); // 30
// z = 40; // TypeError: Assignment to constant variable.
4. var, let, const 비교
특성 | var | let | const |
---|---|---|---|
스코프 | 함수 스코프 | 블록 스코프 | 블록 스코프 |
재선언 | 가능 | 불가 | 불가 |
재할당 | 가능 | 가능 | 불가 |
요약하자면, const를 기본으로 사용하고, 변경이 필요한 경우에만 let을 사용하세요. var는 새로운 코드에서는 가급적 사용을 피하는 것이 좋습니다.
728x90
'자바스크립트' 카테고리의 다른 글
“클릭했는데 왜 부모까지 반응하지?” 자바스크립트 이벤트 버블링 핵심 정리! (49) | 2025.06.26 |
---|---|
자바스크립트 비교 연산자 완벽 정리 | 코딩하는 늑대 (37) | 2025.06.16 |
자바스크립트 계산기 (16) | 2025.03.23 |
getElementById()로 HTML 쉽게 다루기, 알아보자 (30) | 2025.03.08 |
encodeURI(): URL 인코딩 쉽게 이해하기 (2) | 2025.03.06 |