자바스크립트는 변수를 3단계에 걸쳐서 생성하며, 생성하는 순서는 아래와 같다. Javascript 엔진에서의 변수 생성 단계 : 선언 -> 초기화 -> 할당 선언 단계 변수를 실행 컨텍스트(실행 코드에 제공할 정보 객체)의 변수 객체에 등록한다. 초기화 단계 변수 객체에 등록된 변수를 위한 메모리 공간을 확보한다. (이때, undefined로 초기화됨) 메모리가 할당되면 메모리 참조를 통해 변수에 접근할 수 있다. 할당 단계 사용자가 정의한 값을 변수에 할당해준다. var 의 경우, 선언과 초기화(undefined)가 함께 진행되고 let 의 경우, 선언과 초기화가 각각 진행되어 - 정의가 되지 않았다는 ReferenceError가 출력되며, const 의 경우, 선언할 때 초기화 여부를 검증하게 되어 ..