1. Execution Context 란?

<aside> 💡 자바스크립트 코드가 실행되고 연산되는 범위를 나타내는 추상적인 개념.

</aside>

우리가 코드를 작성하고 실행한다면 실행 컨텍스트(Execution Context) 내부에서 실행되고 있는 것입니다. 즉 코드들이 실행되기 위한 환경이자 하나의 박스이자 컨테이너라 볼 수 있습니다.

2. 자바스크립트 코드 실행에 필요한 정보

A. 변수: 전역 변수, 지역 변수, 매개 변수, 객체의 프로펕

B. 함수 선언

C. 변수의 유효범위

D. this

3. Types of Execution Context

A. Global Execution Context

기본 실행 컨텍스트로 함수 내부에 없는 코드는 전역 컨텍스트에서 실행된다고 생각하시면 됩니다. 이 전역 컨텍스트 안에서는 두 가지 작업을 수행합니다.

B. Functional Execution Context

함수가 호출 될 때마다 해당 함수에 대한 새로운 실행 컨텍스트가 생성됩니다. 각 함수별로 실행 컨텍스트를 가지고 있지만 실행 컨텍스트는 함수가 호출될 때 만들어집니다. 함수 실행 컨텍스트(Functional Execution Context)는 얼마든지 있을 수 있으며 새로운 실행 컨텍스트가 생성될 때마다 차례대로 수행됩니다.

C. Eval Function Execution Context