출처: 모던 자바스크립트 딥다이브

스코프


모든 프로그래밍 언어의 기본개념, 자바스크립트 스코프는 타 언어와 다른점이 있음

var, let , const 변수의 스코프가 다르게 동작함

스코프 뜻

모든 식별자는 ‘자신이 선언된 위치에 의해’ 다른 코드가 식별자 자신을 참조할 수 있는

유효 범위가 결정됨, 이 범위를 스코프라고 함

요약 → 스코프는 식별자가 유효한 범위이다. 범위는 선언된 위치에서 결정된

식별자 결정

var x = 'global'

function foo() {
	var x = 'local'
	console.log(x);
}

foo();

console.log(x);

문제 2. 위 그림에서 자바스크립트 엔진이 되어서 위 코드 실행 시 의 작업을 편하게 설명해 주세요