변수의 선언, 할당, 초기화
- 선언(Declaration) : 변수를 생성하는 행위 또는 시점
- 할당(Assignment) : 선언된 변수에 값을 저장하는 행위 또는 시점
- 초기화(Initialization) : 선언된 변수에 처음으로 값을 저장하는 행위 또는 시점
변수 선언
키워드 | 재선언 | 재할당 | 스코프 | 비고 |
---|
let | X | O | 블록 스코프 | ES6부터 도입 |
const | X | X | 블록 스코프 | ES6부터 도입 |
var | O | O | 함수 스코프 | 사용 권장 안함 |
let
- 재할당 가능, 재선언 불가
- 블록 스코프를 갖는 지역 변수를 선언
- 선언과 동시에 원하는 값으로 초기화
const
- 재할당과 재선언 불
- 선언과 동시에 값을 초기화
- 단, 선언 시 반드시 초기값을 설정해야 하며, 이후 값의 변경은 불가
- let과 동일하게 블록 스코프를 가짐
var
- 재할당과 재선언 가능
- ES6 이전에 변수를 선언할 때 사용되던 키워드
- 호이스팅이 발생하여 예기치 못한 문제가 생길 수 있음
- var 대신 let과 const 사용을 권장
- 선언과 동시에 값을 초기화
- let과 const와 달리 함수 스코프를 가짐(function scope)
- 변수 선언 시 var, const, let 키워드 중 하나를 사용하지 않으면 자동으로 var로 선언됨