JS가 변수를 찾는 과정.
자바스크립트는 코드 실행시 스코프에 따라 변수를 찾기 시작하고 점점 상위 스코프로 가면서 변수를 탐색함.
function outer() {
const a = 1;
function inner() {
const b = 2;
console.log(a); // 1 (스코프 체인을 따라 outer의 a를 찾음)
}
inner();
}
outer();
const x = 10;
function outer() {
const y = 20;
function inner() {
console.log(x); // 10 (렉시컬 스코프에 의해 x는 outer 외부의 변수를 참조)
console.log(y); // 20 (렉시컬 스코프에 의해 y는 outer 함수의 변수를 참조)
}
inner();
}
outer();