Development/Javascript
[Javascript] 실행 콘텍스트(Execution Context)
레오나르도 다빈츠
2021. 7. 7. 21:07
출처
자바스크립트 중고급: 근본 핵심 이해 - 인프런 | 강의
4개 강좌로 구성된 자바스크립트 바이블 강좌의 2번째 강좌입니다. 자바스크립트 엔진 이해를 통해 자바스크립트에 최적화된 프로그램을 개발할 수 있습니다. 자신 있게 시스템을 설계할 수 있
www.inflearn.com
🚀 실행 콘텍스트(Execution Context)
◽ 실행 콘텍스트란?
함수가 실행되는 영역, 묶음으로 함수 코드를 실행하고 실행 결과를 저장한다.
함수를 호출하면 엔진은 실행 콘텍스트를 생성하고 그 안으로 이동한다.
◽ 실행 콘텍스트의 실행 단계
준비 단계 - 초기화 단계 - 코드 실행 단계
◽ 실행 콘텍스트의 생성 시점
실행 가능한 코드(함수 코드, 글로벌 코드, eval 코드)를 만났을 때 이다.
코드 유형을 3가지로 분리한 이유는 실행 콘텍스트에서 처리 방법과 실행 환경이 다르기 때문이다.
- 함수 코드: 정적 환경
- 클로벌 코드: 글로벌 환경
- eval 환경: 동적 환경
◽ 실행 콘텍스트 상태 컴포넌트
실행 콘텍스트 상태를 위한 오브젝트는 실행 콘텍스트안에 생성한다.
형태는 아래와 같은데, 결국 propertie로 저장되기때문에 object로 만든다.
실행 콘텍스트(EC): {
렉시컬 환경 컴포넌트(LEC): {},
변수 환경 컴포넌트(VEC): {},
this 바인딩 컴포넌트(TBC): {}
}