전체 코드 내에서 변수 선언부의 위치와 상관 없이,
코드 실행 시 (런타임) 선언이 최상단으로 끌어올려지는 현상.
이로 인해 첫번째 줄부터 변수를 참조할 수 있다.
var 사용 시 호이스팅이 명확히 보이고,
let과 const는 호이스팅 없이 동작하는 듯하나 실제로는 이루어진다.
➡️ 런타임 이전에 선언이 끌어올려짐!
호이스팅(Hoisting)은 JavaScript에서 변수 및 함수 선언이 컴파일 단계에서 상단으로 옮겨지는 현상을 가리킵니다. 이것은 코드 실행 단계에서 일어나는 것이 아니라, JavaScript 엔진이 스크립트를 해석하기 전에 발생하는 것입니다.
변수와 함수 선언은 선언 단계와 초기화 단계로 나뉩니다. 호이스팅은 선언 단계에서 변수나 함수를 상단으로 옮겨지는 것을 의미하며, 초기화 단계는 코드의 위치에 따라 발생합니다.
실행 컨텍스트 변수 함수선언부가 '끌어올려짐'