변수를 참조할 수 있는 유효한 범위를 말한다. 스코프로 인해
블럭 외부에서는 블럭 내부의 변수를 참조할 수 없음
함수 외부에서는 함수 내부의 변수를 참조할 수 없음
함수 외부에서는 함수의 매개 변수를 참조할 수 없음
와 같은 현상이 발생한다
렉시컬 환경은 함수, 블록, 스크립트가 가지고 있는 내부 오브젝트이다.
블럭에 대한 정보(프로퍼티)를 담고 있는 환경 레코드(Environment Record)
와
외부 렉시컬 환경(부모)를 참조하고 있는 외부 환경 참조(Outer Lexical Environment Reference)
로 이루어져 있다.
스크립트 전체와 관련된 렉시컬 환경은 전역 렉시컬 환경(global Lexical Environment)이라고 부른다
외부 변수를 기억하고 이 변수에 접근할 수 있는 함수를 말한다. 자바스크립트에서는 모든 함수가 자연스럽게 클로저가 된다.
함수는 숨김 프로퍼티인 [[Environment]] 에 자신이 만들어진 곳의 렉시컬 환경에 대한 참조를 저장한다. 이 프로퍼티는 함수를 호출 했을 때 생성되는 렉시컬 환경이 참조할 수 있는 외부 렉시컬 환경이 될 수 있다. 이렇게 함수는 [[Environment]] 를 사용해 외부 변수에 접근하게 된다.