728x90
// ======================== ======================== ========================
오늘은 JS 의 실행 컨텍스트에 대해서 살펴보고자 합니다.
======================== ======================== =========================== //
JS 실행 컨텍스트
JS 의 실행 컨텍스트의 대분류는 2가지로 나뉩니다.
1. GEC (Global Execution Context)
- 브라우저환경에서는 Window
- Node.js 환경에서는 Global
2. FEC (Function Execution Context)
- When a function is invoked. FEC is created
EC 구성요소
각 EC 안에는 다음과 같은 구성요소가 들어 있다.
VE (Variable Environment)
- 변수, functions, parameters 등 모든 것
- keep track current value
- hoisting 발생
LE (Lexical Environment)
- track of outer VE
EC 생성 단계
GEC 이든 FEC 이든 2가지 단계로 진행된다.
1. Hoisting
2. this 설정, VE & LE 생성
JS 의 Call Stack
JS의 call stack 은 모든 EC 들을 Tracking 합니다.
- when a function is called, its execution context(ec) is pushed onto the stack
- when the function finishes, itx execution context will be cleard.
- GEC 는 stack 의 제일 밑 부분에서 프로그램이 종료될 때까지 남아 있는다.
실제 JS 프로그램 실행 순서
프로그램의 실행
GEC 생성
GEC 의 구성 생성 (VE, LE)
FEC 생성
FEC 의 구성 생성 (VE, LE)
'[검색] 공부하기 > JavaScript' 카테고리의 다른 글
[ 자주 쓰이는 자바스크립트 Array 함수 2 ] pop, shift, unshift, slice, splice (0) | 2024.05.13 |
---|---|
[ 자주 쓰이는 자바스크립트 Array 함수 5개 ] push, forEach, filter, map, reduce (1) | 2024.05.12 |