
호이스팅(Hoisting)호이스팅이란 함수, 변수, 클래스 또는 임포트(import)와 같은 선언문을 해당 유효범위의 맨 위로 끌어올리는 것처럼 보이는 현상 이러한 현상이 발생하는 이유는 자바스크립트 엔진이 먼저 전체 코드를 스캔하면서 변수 같은 정보를 실행 컨텍스 어딘가에 미리 기록해두었기 때문이다. (이때, 그 어딘가는 환경레코드 입니다.)호이스팅 발생 과정 호이스팅이 발생하는 과정은 생성단계와 실행단계 두 단계가 있습니다.생성 단계 (Creation Phase)자바스크립트 엔진은 코드를 실행하면우선 전역 실행 컨텍스트를 가장 먼저 생성해서 콜 스택에 넣는다.그 후 전체 코드를 스캔한다.이 과정에서 선언할 식별자 변수가 있다면 전역 실행 컨텍스트의 환경 레코드에 미리 선언해둔다.식별자 변수가 var..