[ JavaScript ] 호이스팅(hoisting) 이란?
호이스팅이란 자바스크립트 코드가 실행되기 전에 선언한 변수, 함수들의 메모리 공간이 할당되는 것입니다. 선언과 동시에 초기화를 하더라도 호이스팅 시점에는 모두 undefined로 초기화됩니다. var이나 function 등은 undefined로 초기화되지만, let과 const는 메모리 공간만 할당될 뿐, undefined로 초기화되지 않습니다. 예시입니다. var로 선언하여 변수를 출력하는 코드입니다. 첫 번째는 undefined로 출력되지만 두 번째는 "Hello"로 초기화되어 출력되는 것을 볼 수 있습니다. 이번에는 let으로 선언했습니다. let으로 선언하면 호이스팅 시 초기화되지 않으므로 첫 번째 줄에서 에러가 나타납니다. 변수 선언 코드들이 코드의 최상단으로 이동하여 코드가 실행되는 개념이 아..
2022. 4. 12. 08:34