스코프는 '참조 대상 식별자'를 찾아내기 위한 규칙이다.
#참조대상 식별자란 변수, 함수의 이름과 같이 어떤 대상을 다른대상과 구분하여 식별할 수 있는 유일한 이름이다.
var x = 'global';
function test () {
var x = 'function scope';
console.log(x);
}
test(); // function scope
console.log(x); // global
- 전역 스코프 : 코드 어디에서든지 참조 가능
- 지역 스코프 : 함수코드 블록이 만든 스코프로 함수 자신과 하위 함수에서만 참조 가능
- 전역 변수 : 전역에서 선언된 변수이며 어디에든 참조 가능
- 지역 변수 : 지역함수 내에서 선언된 변수이며 그 지역과 그 지역의 하부 지역에서만 참조 가능
변수는 선언 위치에 의해 스코프를 가진다. 전역에서 선언된 변수는 전역 스코프를 갖는 전역변수이고, 지역에서 선언된 변수는 지역 스코프를 갖는 지역변수가 되는 것이다.
전역 스코프를 갖는 전역 변수는 전역에서 참조 가능
지역에서 선언된 지역변수는 그 지역과 그 지역의 하부 지역에서만 참조가 가능하다.