
자바스크립트 코드가 실행되는 환경을 의미합니다.
변수, 함수, 객체 등의 정보를 담고, 코드가 어떻게 실행될지 컨트롤하는 핵심 메커니즘입니다.
실행 컨텍스트는 다음 세 단계를 거쳐 생성됩니다:
var, function)this가 가리키는 값| 유형 | 설명 |
|---|---|
| 글로벌 실행 컨텍스트 | 가장 먼저 생성되며 전역 객체(window, global)와 연결됨 |
| 함수 실행 컨텍스트 | 함수가 호출될 때마다 새로운 컨텍스트가 생성됨 |
| Eval 실행 컨텍스트 | eval() 함수가 실행될 때 생성되지만, 사용은 권장되지 않음 |
자바스크립트는 싱글 스레드 기반 언어입니다.
실행 컨텍스트는 LIFO(후입선출) 방식의 콜 스택에 의해 관리됩니다.
function one() {
function two() {
console.log("Hello");
}
two();
}
one();
콜 스택 변화:
1. global() → one() → two()
2. console.log() 실행
3. two() → one() → global() 순으로 제거
| 개념 | 설명 |
|---|---|
| 실행 컨텍스트 | 실행 시점에 필요한 환경(Context) 구성 |
| 스코프 | 변수가 유효한 범위 |
| 호이스팅 | 변수/함수 선언이 코드 상단으로 끌어올려지는 현상 |