[Week10] JS 실행 컨텍스트 (Execution context)
2024년 12월 21일
실행 컨텍스트
- 자바스크립트 코드가 실행되는 환경을 의미
- 어떤 코드가 어떤 순서로 실행될지를 결정하는 구조
실행 컨텍스트의 종류
- 전역 컨텍스트
- 가장 먼저 실행되는 기본 컨텍스트
- var, function, let, const 선언들을 먼저 처리
- this는 전역 객체 (window in 브라우저, global in Node.js(
- 함수 컨텍스트
- 함수가 호출될 때마다 새로 생성
- 함수 내부의 변수/매개변수/this 등을 위한 공간
- Eval 컨텍스트 (거의 사용 안함)
- eval() 사용 시 생성
실행 컨텍스트가 만들어지는 과정 (3단계)
- 생성 단계
- 변수, 함수 선언 등이 메모리에 할당
- var → undefined, function → 함수 전체 저장, let/const → 초기화 안됨 (TDZ)
- 실행 단계
- 실제 코드가 한 줄씩 실행됨
- 변수에 값 할당, 함수 실행 등
- 소멸 단계
- 함수 종료 시 해당 컨텍스트는 콜 스택에서 제거됨
요약
| 개념 | 설명 |
| 실행 컨텍스트 | 코드가 실행되는 환경 |
| 전역 컨텍스트 | 처음 실행되는 최상위 컨텍스트 |
| 함수 컨텍스트 | 함수 실행 시 생성되는 컨텍스트 |
| 콜 스택 | 실행 컨텍스트들을 관리하는 구조 |
| 생성 → 실행 → 종료 | 실행 컨텍스트 생애주기 |
