02 실행 컨텍스트
01. 실행 컨텍스트란?
실행컨텍스트(execution context)
: 실행할 코드에 제공할 환경 정보들을 모아놓은 객체
스택과 큐
스택
- Last In First Out
- 예) 스택오버플로우: 스택 초과 시 에러 발생,
큐
자바스크립트의 동적 언어 특성
실행 컨텍스트 활성화 시점에서 선언된 변수를 위로 끌어올림(호이스팅), 외부 환경 정보 구성, this값 설정 등 동작 수행 시 다른 언어와 다른 '특이 현상' 발생!
전체 코드의 환경과 순서를 보장
- 동일 환경 안에 있는 코드들을 실행 시 필요한 환경정보들을 모아 컨텍스트를 구성하고 콜스택에 쌓아올림. 가장 위에 쌓인 컨텍스트와 관련있는 코드들을 실행
- 하나의 실행 컨텍스트 구성하는 예: 전연공간, eval()함수, 함수 등