Developer/Javascript
[자바스크립트] 호이스팅
호이스팅(Hoisting) 호이스팅(hoisiting)이란 자바스크립트 엔진이 변수와 함수의 메모리 공간을 선언하기 이전에 미리 할당하는 것을 의미한다. 흔히 호이스팅에 대해 말할 때, "변수와 함수의 선언을 해당 범위(Scope) 최상단으로 올리는 것."이라고 말을 하는데 정확한 표현은 아니다. 정확히는 그렇게 보이는 현상을 말한다. 자바스크립트 엔진은 코드를 실행하기 전에 코드를 먼저 살펴본다고 생각하면 된다. 자바스크립트 엔진은 코드를 실행하기 전에 실행 가능한 코드를 형상화하고 구분하는 과정을 거친 후, 실행하기 전에 모든 선언을 범위(Scope)에 등록한다. 이 과정을 통해 메모리에 미리 할당해 두었기 때문에 선언문보다 호출이 앞서도 에러 없이 동작이 가능하다. 다른 언어에서는 당연히 에러를 발..