Scope를 번역하면 ‘범위’라는 뜻을 가지고 있습니다.
즉, 스코프(Scope)란 ‘변수에 접근할 수 있는 범위’
라고 생각하면 된다
전역 스코프(Global Scope)는 말 그대로 전역에 선언되어있어 어느 곳에서든지 해당 변수에 접근할 수 있다
지역 스코프(Local Scope)는 해당 지역에서만 접근할 수 있어 지역을 벗어난 곳에선 접근할 수 없다.
자바스크립트에서 함수를 선언하면 함수를 선언할 때마다 새로운 스코프를 생성하는데, 함수에 선언한 변수는 해당 함수 안에서만 접근할 수 있으며
이걸 함수 스코프(function-scoped)라고 한다.
함수 스코프가 바로 지역 스코프의 예시이다.
var a = 1; // 전역 스코프
function print() { // 지역(함수) 스코프
var a = 111;
}
print(); // 111
console.log(a); // 1
지역스코프안에서 선언된 a는 111로 나오고 전역스코프로 선언된 a는 1로 나오는것을 볼 수 있다
var a = 1; // 전역 스코프
function print()
console.log(a);
}
print(); // 1
지역스코프에서의 선언을 지운다면 a는 전연스코프안에서 변수를 찾아 그 값을 반환해 줄 것이다