로고로고

[Week10] JS 실행 컨텍스트 (Execution context)

2024년 12월 21일

실행 컨텍스트

  • 자바스크립트 코드가 실행되는 환경을 의미
  • 어떤 코드가 어떤 순서로 실행될지를 결정하는 구조

 

실행 컨텍스트의 종류

  1. 전역 컨텍스트
    1. 가장 먼저 실행되는 기본 컨텍스트
    2. var, function, let, const 선언들을 먼저 처리
    3. this는 전역 객체 (window in 브라우저, global in Node.js(
  2. 함수 컨텍스트
    1. 함수가 호출될 때마다 새로 생성
    2. 함수 내부의 변수/매개변수/this 등을 위한 공간
  3. Eval 컨텍스트 (거의 사용 안함)
    1. eval() 사용 시 생성

 

실행 컨텍스트가 만들어지는 과정 (3단계)

  1. 생성 단계
    1. 변수, 함수 선언 등이 메모리에 할당
    2. var → undefined, function → 함수 전체 저장, let/const → 초기화 안됨 (TDZ)
  2. 실행 단계
    1. 실제 코드가 한 줄씩 실행됨
    2. 변수에 값 할당, 함수 실행 등
  3. 소멸 단계
    1. 함수 종료 시 해당 컨텍스트는 콜 스택에서 제거됨

 

요약

개념설명
실행 컨텍스트코드가 실행되는 환경
전역 컨텍스트처음 실행되는 최상위 컨텍스트
함수 컨텍스트함수 실행 시 생성되는 컨텍스트
콜 스택실행 컨텍스트들을 관리하는 구조
생성 → 실행 → 종료실행 컨텍스트 생애주기