Hoisting이란, var 선언문이나 function 선언문 등 모든 선언문이 해당 Scope의 처음으로 옮겨진 것 처럼 동작하는 특성을 말한다. 즉 자바스크립트는 모든 선언문이 선언되기 이전에 참조가 가능한 것이다. - 변수 호이스팅 - console.log(num); // undefined var num = 123; console.log(num) // 123 { var num = 456; } console.log(num); // 456 첫번째 라인에서 선언되지 않은 num을 출력하니까 에러가 뜰 것 같지만 콘솔에는 undefined가 출력된다. 그 이유는 모든 선언문은 hoisting 되기 때문이다. var num = 123; 이 hoisting 되어 첫 줄 앞에 var num;이 옮겨진 것처럼 동..