로고로고

[Week7] 렉시컬 스코프

2024년 11월 30일

스코프란

 

렉시컬 스코프란

 

예시

var x = 'foo';

function foo() {
	var x = 'bar';
	bar();
}

function bar() {
	console.log(x);
}

foo();
bar();

/*
foo(); 실행 결과
- foo는 함수 단위에서 var x = 'bar'; 를 통해 x를 다시 정의하고, bar(); 를 실행
- 하지만, bar 함수 선언할 때 x 는 var x = 'foo'; 전역변수로 할당된 foo를 값으로 가짐
- 따라서 foo(); 실행 결과는 bar 함수 선언 시 x의 값인 foo

bar(); 실행 결과
bar 함수 선언 시 x 의 값인 foo 를 콘솔 로그에 남김
*/