스코프
: 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정되는 것.
-> 식별자가 유효한 범위를 말한다.
스코프란 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙이라고도 할 수 있다.
단어 정리
식별자 결정
: 자바스크립트 엔진은 이름이 같은 변수 중에서 스코프를 통해 어떤 변수를 참조해야 할 것인지 결정하는 것.
렉시컬 환경
: 코드가 어디서 실행되며 주변에 어떤 코드가 있는지
구분 | 설명 | 스코프 | 변수 |
---|---|---|---|
전역 | 코드의 가장 바깥 영역 | 전역 스코프 | 전역 변수 |
지역 | 함수 몸체 내부 | 지역 스코프 | 지역 변수 |
스코프 체인
: 스코프가 계층적으로 연결된 것
블록 레벨 스코프
: 모든 코드 블록이 지역 스코프를 만든다. (C, 자바 등)
함수 레벨 스코프
: 함수에 의해서만 지역 스코프를 만든다.
함수를 어디서 호출했는지에 따라 함수의 상위 스코프를 결정한다.
함수를 어디서 정의했는지에 따라 함수의 상위 스코프를 결정한다.