스코프(Scope) 란변수나 함수같은 식별자가 유효한 범위를 의미한다.크게 Global Scope / Local Scope로 분류된다.JS엔진 입장에서 오류가 발생하는걸 알수 잇는 방법은 오류가 발생한 문이 실행 되기전 에 프로그램 내 스코프와 변수 관계 전부를 사전 파악하는 것이다.프로그램이 컴파일 되는 이 시점에 스코프는 결정이 된다. (== 런타임 환경에는 영향을 받지 않는다.)이렇게 컴파일 타임에 결정되는 스코프를 렉시컬 스코프라고 한다.컴파일 도중에 프로그램 실행에 필요한 모든 렉시컬 스코프가 들어간 지도가 만들어지고, 실제 각 스코프를 실행해야만 하는 런타임 전까지 스코프가 생성되지 않는다(렉시컬 : 컴파일 단계 중 첫 단계인 렉싱(파싱) 을 의미) 사실 프로그램이 실행 되는 동안 js ..