JavaScript의 let과 const, Modern JavaScript의 핵심 선언문
JavaScript의 변수 선언 방식은 ES6(ECMAScript 2015) 이후로 크게 변화하였습니다. 기존의 var
선언문 대신 let
과 const
가 등장하면서 더 안정적이고 예측 가능한 코드 작성이 가능해졌습니다. 이 글에서는 let
과 const
의 특징과 활용법을 깊이 있게 살펴봅니다.
목차
- let과 const의 등장 배경
- let의 특징과 사용법
- const의 특징과 사용법
- Temporal Dead Zone(TDZ)
- 스코프(Scope) 비교: var, let, const
- let과 const 활용의 모범 사례
- 자주 발생하는 실수와 주의점
let과 const의 등장 배경
ES6 이전에는 JavaScript에서 변수를 선언하기 위해 var
를 사용했습니다. 하지만 var
는 함수 스코프(function scope)로 인해 예기치 않은 동작을 초래하는 경우가 많았습니다. 이를 해결하기 위해 블록 스코프(block scope)를 지원하는 let
과 const
가 도입되었습니다.
let의 특징과 사용법
let
은 블록 스코프를 가지며 재할당이 가능합니다. 다음은 주요 특징입니다:
- 같은 블록 내에서 중복 선언이 불가능합니다.
- 초기화하지 않아도 선언할 수 있습니다.
예제 코드:
let count;
count = 10;
console.log(count); // 10
const의 특징과 사용법
const
는 상수를 선언하는 데 사용되며, 선언과 동시에 초기화해야 합니다. 주요 특징:
- 선언 이후 값을 변경할 수 없습니다.
- 객체나 배열의 경우, 참조값은 고정되지만 내부 데이터는 변경 가능합니다.
예제 코드:
const name = "JavaScript";
console.log(name); // "JavaScript"
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
Temporal Dead Zone(TDZ)
TDZ는 변수가 선언되기 전에 접근하려고 하면 ReferenceError가 발생하는 구간을 말합니다. 이는 let
과 const
모두에 적용됩니다.
예제:
console.log(a); // ReferenceError
let a = 5;
스코프(Scope) 비교: var, let, const
세 가지 선언문의 스코프를 비교하면 다음과 같습니다:
선언문 | 스코프 | 특징 |
---|---|---|
var | 함수 스코프 | 중복 선언 가능 |
let | 블록 스코프 | 중복 선언 불가능 |
const | 블록 스코프 | 상수, 재할당 불가 |
let과 const 활용의 모범 사례
효율적이고 안정적인 코드를 작성하기 위해 다음과 같은 규칙을 따르는 것이 좋습니다:
- 변경이 필요 없는 값에는
const
를 사용합니다. - 값이 변경될 가능성이 있다면
let
을 사용합니다. - 가능한 한
var
사용을 지양합니다.
자주 발생하는 실수와 주의점
초보자들이 흔히 저지르는 실수:
- 초기화되지 않은
const
선언: SyntaxError를 초래합니다. - TDZ에 대한 이해 부족: 선언 전에 변수를 사용하려 하면 오류가 발생합니다.
- 중복 선언:
let
과const
는 중복 선언을 허용하지 않습니다.
'프로그래밍 언어 > 자바스크립트' 카테고리의 다른 글
JavaScript에서 null의 역할, 빈 값과 초기화의 의미 (0) | 2025.01.17 |
---|---|
JavaScript 함수에서 undefined 반환 이해하기 (0) | 2025.01.11 |
boolean 타입 핵심 이해, JavaScript 논리 연산 구현하기 (0) | 2024.12.30 |
JavaScript null과 객체 초기화, 코드 안정성을 높이는 방법 (0) | 2024.12.24 |
JavaScript에서 undefined가 발생하는 이유와 처리 방법 (0) | 2024.12.18 |