호이스팅이란 코드 실행 전에 변수나 함수의 선언문이 해당 스코프의 가장 위로 끌어올려지는 것을 말한다. 따라서 변수가 선언되기도 이전에 변수를 참조하여 사용할 수 있는 일이 가능하게 되지만, 이는 예상치 못한 에러를 발생할 수 있어 권장되는 방식이 아니다. 변수 호이스팅 원리 먼저 간단한 예를 보며 호이스팅이 되는 과정을 이해해보자. console.log(amIHoisted); // undefined var amIHoisted = true; console.log(amIHoisted); // true 논리적으로 생각했을 때 첫번째 줄에서 에러를 뿜어내야할 것 같지만 그렇지 않다. 왜냐하면 두번째 줄의 amIHoisted 변수 선언문이 가장 위로 호이스팅 되기 때문이다. 게다가 var 키워드로 선언된 변수는..