스코프(scope)란?
- JS내에서 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다 이를 스코프 라고 한다.
- JS engine 이 식별자를 검색할 때 사용하는 규칙
- JS engine 은 코드를 실행할 때 코드의 문맥(context)을 고려한다.
(코드가 어디서 실행되며 주변에 어떤 코드가 있는지에 따라 동일한 코드도 다른 결과를 만들어 냄)
- "코드가 어디서 실행되며 주변에 어떤 코드가 있는지" → 렉시컬 환경(lexical environment)
스코프의 종류

전역(global)
- 전역이란 코드의 가장 바깥 영역을 말하며 전역은 전역 스코프(global scope)를 만듦
- 전역에 변수를 선언하면 전역 스코프를 갖는 전역 변수(global variable)가 된다.
- 전역 변수는 어디서든 참조할 수 있다
지역(local)