스코프란?
유효범위라고 한다.
스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 스코프의 이해가 부족하면 다른 개념을 이해하기 어려울 수 있다. 더욱이 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의가 필요하다.
var 키워드로 선언한 변수와 let 또는 const 키워드로 선언한 벼누의 스코프도 다르게 작동한다.
함수에서 스코프를 많이 접한다.
함수의 매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조할 수 없다고 했다. 이것은 매개변수를 참조할 수 있는 유효범위, 즉 매개변수의 스코프가 함수 몸체 내부로 한정되기 때문이다.
모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. 즉, 스코프는 식별자가 유효한 범위를 말한다.
전역과 지역으로 구분할 수 있다.
간단히 말해 모두 사용할 수 잇는 것은 전역(어디서든지 참조할 수 있다.)
부분에서만 사용할 수 있는 것은 지역 (함수 몸체 내부)
지역 변수는 자신의 지역 스코프와 하위 지역 스코프에서 유효하다.