참조링크
호이스팅
변수 선언문을 위로 끌어올려서 실행컨텍스트에 저장한다는 것이 핵심이다.
예시
⇒ 호이스팅 후에 실행되므로, 선언보다 사용 코드를 앞에 둬도 정상 실행됨.
console.log(a); //에러 없음. //undefined 출력 var a = 10;
호이스팅 시 하는 행위가 달라?
var
const
,let
,class
function
각각 호이스팅 시 하는 행위가 다른데, 호이스팅이 위로 선언문을 위로 끌어올린다는 것 정도만 기억하고 자세한 부분은 TDZ 글 참조.
TDZ (Temperal Dead Zone)