호이스팅은 코드가 실행하기 전 변수선언 / 함수선언이 해당 스코프의 최상단으로 끌어 올려진 것 같은 현상을 말한다.
자바스크립트 엔진은 코드를 실행하기 전 실행 가능한 코드를 형상화하고 구분하는 과정(실행 컨텍스트를 위한 과정)을 거친다
자바스크립트 엔진은 코드를 실행하기 전 실행 컨텍스트를 위한 과정에서 모든 선언(var, let, const, function, class)을 스코프에 등록한다
코드 실행 전 이미 변수선언 / 함수선언이 저장되어 있기 때문에 선언문보다 참조/호출이 먼저 나와도 오류 없이 동작한다.
(정확히는 var 키워드로 선언한 변수와 함수 선언문일 경우 오류 없이 동작한다. 이는 선언이 파일의 맨 위로 끌어올려진 것 처럼 보이게 한다.)
*실행 컨텍스트는 실행 가능한 코드가 실행되기 위해 필요한 환경을 의미하고 실행되기전 이러한 실행 컨텍스트 과정(코드를 구분하는 과정)을 거친다.
'웹 개발' 카테고리의 다른 글
zustand(쥬스탠드)로 사용으로 전역상태 관리하기 (사용법) (0) | 2024.02.09 |
---|---|
교차 출처 리소스 공유(CORS) (0) | 2022.12.11 |
실행 컨텍스트에 대해 알고 계시나요? (0) | 2022.08.30 |
싱글 스레드와 멀티 스레드의 장점과 단점 (0) | 2022.08.29 |
동기와 비동기 프로그래밍을 알고 계시나요? (0) | 2022.08.26 |