Scope
란, 변수에 접근할 수 있는 범위를 말하는데요. 좀 더 말하자면, 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙입니다. Javascript 는 이 규칙대로 식별자를 찾는 것입니다.
Javascript에서 Scope는 2가지 타입이 있습니다. 바로 global(전역)
과 local(지역)
인데요.
Global Scope(전역 스코프)
는 말 그대로 전역에 선언되어 있어 어느 곳에서든지 해당 변수에 접근할 수 있습니다. 반면에, Local Scope(지역 스코프)
는 해당 지역에서만 접근할 수 있어 지역을 벗어난 곳에선 접근할 수 없습니다.
Javascript에서 함수를 선언하면 함수를 선언할 때마다 새로운 Scope를 생성하게 됩니다. 그러므로 함수 몸체에 선언한 변수는 해당 함수 몸체 안에서만 접근할 수 있는데요. 이걸 function-scope(함수 스코프)
라고 합니다. 함수 스코프가 바로 지역 스코프의 예라고 할 수 있습니다.