스코프(범위)는 '변수의 접근할 수 있는 범위' 를 뜻한다. 또한 변수를 찾기위한 규칙이라 할 수도 있다
*범위는 함수, 블록(중괄호)에 의해 나뉘어진다.
-> 각각을 Block Scope / Function Scope 라 부른다.
let x = 10;
function outer () {
let x = 20;
function inner () {
return x;
}
return inner();
}let result = outer();
위 예제를 보면 x가 2번 선언되었는데 이런 상황에 스코프를 사용하면 된다.
전역에 선언된 x(let x = 10;) 는 어디에서든 참조 가능하지만 outer 함수 내에서 선언된 x(let x = 20;) 는 outer 함수 내에서만 사용 가능하며, 외부에서는 참조 불가능하다.
스코프는 이러한 규칙을 뜻하는 것이다.
가장 바깥쪽의 스코프를 전역 스코프(Global Scope)로 부르며 이를 제외한 모든 스코프를 지역 스코프(Local Scope)라 부른다.