변수를 실행 컨텍스트의 Environment Record 환경 레코드에 등록한다
환경 레코드에 등록된 변수를 위한 공간을 메모리에 확보한다
undefined
로 초기화**된다undefined
로 초기화된 변수에 실제 값을 할당한다
var 키워드로 선언된 변수는 선언 단계와 초기화 단계가 한번에 이루어진다
var number = 10;
를 예로 들면,
1. Declaration Phase & Initialization Phase
2. (initialized state)
variable === undefined
var number = 10;
의 number = 10
할당 부분을 이제야 실행하는 것variable === 10
let, const 키워드로 선언된 변수는 선언 단계와 초기화 단계가 분리되어 이루어진다
1. Declaration Phase
2. (uninitialized state)
variable === undefined
variable === 'value'
이름
을 알려주는 행위내용
을 알려주는 행위