실행 컨텍스트란?
정의
- 코드의 실행환경에 대한 정보를 담고 있다.
- 사용되는 코드 정보를 담은 객체의 집합
종류
자바스크립트 코드의 3가지 종류
-
글로벌 코드
-
함수 코드
-
eval
→ 각 자신만의 실행 컨텍스트를 생성한다.
- 엔진이 스크립트 파일을 실행하기 전
- 글로벌 실행 컨텍스트 GEC(Global Execution Context, GEC)가 생성된다.
- 함수 호출할 때
- 함수 실행 컨테스트 FEC(Function Execution Context, FEC)가 생성된다.
⇒ GEC, FEC 생성 시점의 차이를 인지해야한다.
실행 컨텍스트 스택(Excution Context Stack)
- 콜스택이라는 실행 컨텍스트 스택에 쌓인다.
- GEC
- 실행 전에 call stack에 쌓인다.
- 모든 코드를 실행하면 제거된다.