호이스팅(Hoisting)은 자바스크립트에서 변수가 선언된 위치와 상관없이 해당 변수 선언이 코드의 최상단으로 끌어올려지는 동작을 의미합니다. 호이스팅은 변수 선언뿐만 아니라 함수 선언에도 적용됩니다. 다만, 변수의 초기화는 호이스팅되지 않으며, 변수 선언만 호이스팅됩니다. ( var가 아닌 let을 쓴다면 'ReferenceError' 발생! 이유는 ' TDZ ' 아래에서 다시 설명) 예를 들어, 아래와 같은 코드가 있을 때:console.log(x); // undefinedvar x = 5;console.log(x); // 5위의 코드는 실제로는 다음과 같이 동작합니다:var x;console.log(x); // undefinedx = 5;console.log(x); // 5 즉, 변수 x의 선언이..