'Hoisting' 이란 ? 영어 단어 hoist는 끌어올리기 를 뜻한다. 그렇다면, JS에서의 hoisting이란 무엇일까? 호이스팅(hoisting)이란, js interpreter가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것이다. 더 자세하게는, 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 것이다. 호이스팅에 따르면, js에서는 변수의 선언만 최상위의 순서로 끌어올려진다. 따라서, 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있다. 다만, 선언과 초기화를 함께 수행하는 경우에는 선언 코드까지 실행해야 변수가 초기화된 상태가 된다. 호이스팅의 규칙 호이스팅의 존재로 우리가 알아야 할 두 가지가 있다. var로 선언한 변수의 경우, 호이스팅 시 unde..