자바스크립트는 비동기 이벤트 처리, 클로저, 스코프 체인 등 다양한 개념을 기반으로 동작합니다. 이 모든 것이 원활히 작동하려면 **실행 컨텍스트(Execution Context)**를 이해하는 것이 필수입니다.

실행 컨텍스트는 코드를 실행하는 환경을 의미하며, 자바스크립트 엔진이 변수, 함수 선언, this 바인딩 등을 어떻게 처리하는지 결정합니다. 이번 글에서는 실행 컨텍스트의 개념과 동작 원리를 쉽게 정리해 보겠습니다.


실행 컨텍스트란?

실행 컨텍스트는 자바스크립트 코드가 실행될 때 생성되는 환경입니다.

각 실행 컨텍스트는 스코프, 변수, 함수, this 바인딩 등의 정보를 관리하며, 코드 실행 흐름을 결정합니다.

자바스크립트는 코드를 실행할 때 하나의 실행 컨텍스트만 활성화됩니다.

즉, 실행 중인 컨텍스트를 **콜 스택(Call Stack)**을 통해 관리하며, 실행이 끝난 컨텍스트는 스택에서 제거됩니다.


실행 컨텍스트의 종류

자바스크립트에는 세 가지 주요 실행 컨텍스트가 존재합니다.

전역 실행 컨텍스트 (Global Execution Context, GEC)