실행 컨텍스트 Execution Context
코어 자바스크립트 02장 복습
실행할 코드에 제공할 환경 정보들을 모아놓은 객체가 바로 실행 컨텍스트!
- 실행할 코드들이 같은 환경에 구성되어 있다면, 이것들을 모아 컨텍스트를 구성하고 콜스택 Call Stack에 올리고 실행한다
여기서 중요한 것 !!!
stack 구조에 올라가는 실행 컨텍스트의 구동 방식
- 우선 전역 컨텍스트를 담고,
- 다른 실행환경을 찾게 되면 바로 콜스택에 쌓기 때문에 이전에 실행 중인 컨텍스트는 중단되고,
- 다음 코드에서 발견된 실행환경을 콜스택 상단에 쌓게 된다.
- 그 컨텍스트를 구성하는 함수가 종료되면 콜스택에서도 제거 되고,
- 이전에 중단된 컨텍스트의 코드가 쌓인 순서대로 진행하게 된다.
실행 컨텍스트가 활성화 되면 자바스크립트 엔진은 무엇을 하는가?
- 현재 시점 활성화 된 실행 컨텍스트는 콜스택 가장 최상단에 위치한다
-
실행 컨텍스트와 관련된 코드들에 필요한 환경 구성을 위해 수집하는 정보들이 있다! (객체로 저장)
수집하는 정보
- Variable Environment Lexical 환경과 같은 정보를 담고 있으나 최초 코드 실행시의 스냅샷을 유지하고 실행 컨텍스트를 생성할 때는 우선 자신에 정보를 담고나서 **자기 자신과 같은 Lexical 환경을 만든다
- Lexical Environment 컨텍스트를 구성하는 환경 정보를 담고 있다. Variable 환경이 우선 실행 컨텍스트 환경 정 보를 구성 하고나면 Lexical 환경정보를 주로 사용하게 된다.