실행 컨텍스트

강한솔·2024년 6월 7일

모던 JS Deep Dive

목록 보기
10/14

실행 컨텍스트

소스코드를 실행하는 데 필요한 환경을 제공하고, 코드의 실행 결과를 실제로 관리하는 영역

식별자(변수, 함수, 클래스 등의 이름)를 등록하고 관리하는 소코프
실행 순서 관리를 구현한 내부 메커니즘
모든 코드는 실행 켄텍스트를 통해 실행되고 관리됨

실행 컨텍스트 역할

코드가 실행되려면 스코프, 식별자, 코드 실행 순서 등의 관리가 필요

  1. 선언에 의해 생성된 모든 식별자를 스코프를 구분하여 등록하고 상태 변화를 지속적으로 관리
  2. 스코프는 중첩관계에 의해 스코프 체인을 형성해야 함으로 스코프 체인을 통해 상위 스코프로 이동하며 식별자를 검색할 수 있어야 함.
  3. 현재 실행 중인 코드의 실행 순서를 변경(함수 호출에 의해 순서 변경)할 수 있어야 하며 다시 돌아갈 수 있게 해야 함.

이 작업들을 관리하는 것이 실행 컨텍스트가 하는 일.

실행 컨텍스트 스택

자바스크립트 엔진은 먼저 전역 코드를 평가하여 전역 실행 컨텍스트를 생성한다. 이후 함수가 호출되면 함수 코드를 평가하여 함수 실행 컨텍스트를 생성한다.

전역, 함수 실행 컨텍스트는 스택 자료구조로 관리된다.
이 과정을 실행 컨텍스트 스택이라고 한다.

0개의 댓글