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