실행 컨텍스트란?
실행할 코드에 제공한 환경 정보들을 모아놓은 객체
JS의 동적 언어로서의 성격을 잘 파악할 수 있는 개념
어떤 실행 컨텍스트가 활성화되는 시점에
선언된 변수를 위에 끌어올리기 - 호이스팅
외부 환경 정보를 구성
this 값을 설정
JS에서 가장 중요한 핵심 개념 중 하나라고 할 수 있음
먼저 스택, 큐에 대해서 학습
스택 : FIFO
큐 : LIFO
실행 컨텍스트
실행할 코드에 제공할 환경 정보를 모아놓은 객체
동일한 환경
자동으로 생성되는 전역공간과
악마로 취급받는 eval? 을 제외하면
실행 컨텍스트 구성 → 함수
// -------------------------- (1)
var a = 1;
function outer() {
function inner() {
console.log(a); //undefined
var a = 3;
}
inner(); // --------------- (2)
console.log(a); // 1
}
outer(); // ----------------- (3)
console.log(a); // 1