[javascript] 실행 컨텍스트 스택(execution context stack)이란 무엇인가?

JavaScript의 실행 컨텍스트 스택은 코드가 실행될 때 생성되는 개별 실행 컨텍스트가 쌓여 있는 스택입니다. 각 실행 컨텍스트는 해당 코드의 실행에 필요한 정보를 담고 있습니다.

실행 컨텍스트란?

실행 컨텍스트는 코드가 실행될 때 생성되고 실행될 때 필요한 여러 정보를 담고 있는 객체입니다. 각 실행 컨텍스트 안에는 변수, 객체 및 함수의 선언 및 실행 정보가 저장됩니다.

실행 컨텍스트 스택 작동 방식

  1. 전역 실행 컨텍스트: 코드가 실행될 때 가장 먼저 생성되는 실행 컨텍스트입니다.
  2. 함수 실행 컨텍스트: 함수가 호출될 때마다 해당 함수의 실행 컨텍스트가 스택에 추가됩니다.
  3. 현재 실행 중인 함수의 실행 컨텍스트: 스택의 맨 위에 위치한 실행 컨텍스트입니다.

실행 컨텍스트 스택의 역할

이러한 방식으로 실행 컨텍스트 스택은 JavaScript 코드의 실행 흐름을 관리하며, 함수 호출 및 변수, 객체, 함수의 스코프 관리를 담당합니다.

참고 자료

  1. JavaScript 실행 컨텍스트와 클로저 (한국어)
  2. Understanding Execution Context and Execution Context Stack in JavaScript (영어)