December 02, 2021
변수는 자신이 선언된 위치에 의해 자신이 유효한 범위인 스코프가 결정 됩니다
이러한 스코프는 자바스크립트 엔진이 식별자를 검색하는 규칙이라고도 말할 수 있습니다
이러한 규칙이 있기때문에 우리는,
function outer() {
const name = 'outer heaeun';
const food = 'pizza';
console.log(name, age); // ReferenceError: age is not defined
function inner() {
const name = 'inner heaeun';
const age = 20;
console.log(name, age, food); // 'inner heaeun' 20 'pizza'
}
inner();
}
outer();
스코프 블럭은 중첩될 수 있습니다. 이렇게 중첩된 스코프가 계층적으로 연결되어 있는 것을 스코프 체인이라고 합니다
자바스크립트 엔진은 스코프 체인을 따라 변수를 참조하는 코드의 스코프에서 시작하여 상위 스코프로 이동하면서 선언된 변수를 검색합니다
함수의 코드 블록에 의해서 생성된 지역 스코프입니다. 함수 내부에서 선언된 변수는 함수 내부에서만 참조할 수 있습니다
코드 블록에 의해서 생성된 지역 스코프입니다. 코드 블록 내부에서 선언된 변수는 블록 내부에서만 참조할 수 있습니다