피드로 돌아가기
Execution Context
Dev.toDev.to
Frontend

JS 엔진의 동작 원리, Execution Context로 이해하는 코드 실행 메커니즘

Execution Context

Muhammad iqbal2026년 4월 6일1beginner

Context

JavaScript의 코드 실행 방식에 대한 기본 이해 부족. 단일 스레드 환경에서 변수와 함수가 관리되는 내부 메커니즘의 불투명성.

Technical Solution

  • 코드 실행 환경을 정의하는 Global Execution Context(GEC)와 함수 호출 시 생성되는 Functional Execution Context(FEC)의 구분 구조
  • GEC 생성 시 window 객체와 this 키워드를 자동으로 할당하는 초기화 방식
  • 메모리 할당 단계인 Creation Phase에서 변수를 undefined로 설정하고 함수 전체를 메모리에 저장하는 Hoisting 전략
  • 실제 코드를 한 줄씩 읽으며 변수에 값을 할당하고 로직을 수행하는 Execution Phase의 순차적 처리 과정
  • Single-threaded 환경의 실행 순서를 관리하기 위해 LIFO(Last In First Out) 구조의 Call Stack 활용 설계
  • 함수 실행 완료 후 해당 Context를 스택에서 제거하여 메모리를 회수하는 Pop 방식

Key Takeaway

JavaScript는 단순한 순차 실행이 아닌 메모리 할당과 실행이라는 두 단계의 프로세스를 거치는 런타임 구조를 가짐.


Hoisting으로 인한 undefined 참조 오류를 방지하기 위해 변수 선언을 코드 상단에 배치하거나 let, const 사용을 권장함

원문 읽기