0_ 개괄


  1. 정의:
    1. 실행할 코드에 제공할 환경 정보들을 모아놓은 객체
  2. 종류:
    1. 전역 컨텍스트: 전역 공간에서 자동으로 생성됨 == JS 구동 “환경”이 제공해주는 객체를 활용
      1. 브라우저 → window
      2. Node.js → global
    2. eval 및 함수 실행에 의한 컨텍스트
  3. 수집하는 정보
    1. Variable Environment
    2. Lexical Environment
    3. ThisBinding

1. Variable Environment

마치 snapshot처럼 Lexical environment의 초기상태를 저장한 것으로 변경되지 않음


  1. 실행 컨텍스트를 생성할 때,
  2. variable environment를 만들고
  3. 이를 그대로 복사해서 lexical environment를 만듦.

2. Lexical Environment

Variable Environment와 달리, lexical environment는 코드가 실행됨에 따라 변경됨


2-1. lexical environment의 뜻

  1. 직역하면 어휘적 환경
  2. 이해하기로는 “사전적” 환경
    1. 함수가 실행되면서 필요한 정보들을 “찾아오는” 객체이기 때문

2-2. 수집하는 정보

1. Environment Record