[TIL] #12 (2022.01.31) 에서 클로저에 대해 공부하다가 실행 컨텍스트에 대한 학습이 필요하다고 느껴 정리하게 되었다.
실행 컨텍스트(execution context)는 자바스크립트 동작 원리를 담고 있는 핵심 개념이다.
실행 컨텍스트를 바르게 이해하면 다음과 같은 내용을 이해할 수 있다.
ECMAScript 사양은 소스코드(ECMAScript code)를 4가지 타입으로 구분하며, 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다.
전역에 존재하는 소스코드를 말한다. 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지 않는다.
함수 내부에 존재하는 소스코드를 말한다. 함수 내부에 중첩된 함수, 클래스 등의 내부 코드는 포함되지 않는다.
빌트인 전역 함수인 eval
함수에 인수로 전달되어 실행되는 소스코드를 말한다.
모듈 내부에 존재하는 소스코드를 말한다. 모듈 내부의 함수, 클래스 등의 내부 코드는 포함되지 않는다.