<aside> 💡 Study Note 실행 컨텍스트 p.368~378

</aside>

실행 컨텍스트의 생성과 식별자 검색 과정

<aside> 🚨 실행 컨텍스트의 이해가 필요 ⇒ 8-1주차 재영님 필기 참조

</aside>

var x = 1;
const y = 2;

function foo(a) {
	var x = 3;
	const y = 4;
	
	function bar(b) {
		const z = 5;
		console.log(a + b + x + y + z);
	}

	bar(10);
}

foo(20);  // 42

전역 코드 평가

IMG_8943DCB447A7-1.jpeg

  1. 전역 실행 컨텍스트 생성

    ⇒ 실행 컨텍스트 스택에 전역 실행 컨텍스트 푸시

    ⇒ 전역 실행 컨텍스트가 실행 컨텍스트 스택의 최상위,

    즉 실행 중인 실행 컨텍스트가 된다.

  2. 전역 렉시컬 환경 생성

    ⇒ 전역 레시컬 환경 생성, 전역 실행 컨텍스트에 바인딩

    IMG_0740.jpg

전역 코드 실행

전역 코드가 순차적으로 실행 ⇒ 선언된 식별자인지 확인, 선언되지 않은 식별자는 참조 X

변수 할당문이 실행되어 변수 x,y 값 할당, foo 함수 호출

IMG_678B6DCE6AD1-1.jpeg

foo 함수 코드 평가