스코프
- 식별자가 유효한 범위를 말한다.
- 하위 스코프에서 상위 스코프의 식별자는 참조 가능하지만, 상위 스포크에서 하위 스포크의 식별자는 참조 불가능하다.
- 전역 스포크와 지역 스코프로 나뉜다.
- 전역 스코프
- 가장 바깥쪽의 영역을 말하며 전역에 선언된 변수는 어디서든 접근이 가능하다.
- 지역 스코프
- 코드 블록 내부의 범위를 말한다.
- 하위 스코프에서 상위 스코프의 식별자를 참조하는 것은 가능하다.
- 상위 스코프에서 하위 스코프의 식별자를 참조하는 것은 불가능 하다.
- 하위 스코프에서 식별자가 없으면 상위 스코프에서 식별자를 찾는다.
=> 상위 스코프와 하위 스코프에 같은 이름의 식별자를 작성하면 하위 스코프의 식별자를 참조한다.
let globalNum = 100;
console.log(globalNum, outerNum, innerNum);
function outer() {
let outerNum = 10;
console.log(globalNum, outerNum, innerNum);
function inner() {
let innerNum = 1;
console.log(globalNum, outerNum, innerNum);
}
}