Hoisting : 호이스팅 Interpreter(javascript engine)가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것 많은 사람들이 호이스팅을 "코드를 실행하기 전 변수 및 함수 선언을 해당 스코프의 최상단으로 끌어올리는 것" 이라고 알고 있지만 해당 문장은 잘못된 이해이다. 정확히 하자면 다음과 같다. "코드를 실행하기 전 변수 및 함수 선언을 해당 스코프의 최상단으로 끌어올리는 것처럼 보이는 것" 위에서 정의한 것 처럼 메모리 공간을 선언 전에 '미리' 할당하기 때문에 해당 스코프의 최상단으로 끌어올리는 것 처럼 보인다. 자바스크립트의 모든 선언에는 호이스팅이 발생하는데, 다음을 이용한 선언문은 호이스팅이 일어나지 않은 것 처럼 보인다. let const class 예를 들어..