실행 컨텍스트 Execution Context

  1. 스코프scope, 호이스팅hoisting, this, function, 클로저closure 등의 동작 원리를 담고 있는 JS 핵심
    1. 변수 variable 전역변수, 지역변수, 매개변수, 객체의 프로퍼티
    2. 스코프 scope: 변수의 유효범위
    3. 함수 선언
    4. this
  2. 실행 가능한 코드형상화하고 구분하는 추상적인 개념이면서 동시에 물리적으로는 객체를 의미
    1. Variable Object ( 전역변수 vars, 함수선언부 function declarations, 매개변수 paramteters)
    2. Scope Chain( Variable Object + All Parent Scopes) → 식별자 중 변수를 검색하는 메커니즘 → 식별자 중 변수가 아닌 객체의 프로퍼티(메소드 포함)를 검색하는 매커니즘은 프로토타입 체인이라 함 → 이를 통해 렉시컬 스코프Lexical Scope를 파악
    3. this Value ( Context Object ) → 인스턴스 자신을 가리키는 참조변수로, 함수 호출 방식에 의해 동적으로 결정됨