JavaScript의 var, let, const 키워드에 대해 설명하라
var 키워드
- 함수레벨 스코프
- 생략 가능
- 변수 재선언, 재할당 가능
- 변수 호이스팅: 선언 이전에 참조할 수 있다.
- 전역 변수로 선언 시 전역 객체의 프로퍼티로 등록
let 키워드
- 블록레벨 스코프
1 | let foo = 123; // 전역 변수 |
- 재선언 불가
1 | var foo = 123; |
let 키워드의 호이스팅

var 키워드로 선언된 변수는 선언단계와 초기화 단계가 동시에 일어난다.

하지만 let, const 키워드로 선언된 변수는 선언단계와 초기화 단계가 분리되어 진행된다.
const 키워드
- 재할당, 재선언 불가
- 상수를 주로 사용
- 변수 자체를 재할당할 순 없지만 객체의 프로퍼티는 변경 가능하다.
1 | const user = { name: "Lee" }; |