(1) 실행 컨텍스트란
- scope, hoisting, this 등의 동작원리를 담고 있는 javascript의 핵심 원리이다.
- 즉, 실행 가능한 코드가 실행되기 위해 필요한 환경이다.
- LIFO 구조이다.
- 실행 컨텍스트의 종류는 전역, 함수, eval
- 전역 컨텍스트는 측정 함수가 실행되지 않는 한 모든 스크립트는 전역 컨텍스트에서 실행된다. 전역 객체로 window가 할당된다.
- 함수 컨텍스트는 함수가 실행될 때마다 실행 컨텍스트가 생성되고, 함수가 동작이 끝나면 삭제된다. 호출이 되어야지만 생성이 된다.
var x = 'xxx';
function foo () {
var y = 'yyy';
function bar () {
var z = 'zzz';
console.log(x + y + z);
}
bar();
}
foo();
(2) 실행 컨텍스트 객체
- Variable object는 변수, 매개변수, 인수 정보, 함수 선언(함수 표현식은 제외)의 정보를 담는 객체이다. 코드가 실행될 때 참조되며 코드에서는 접근할 수 없다.
- Scope chain(SC)는 해당 전역 또는 함수가 참조할 수 있는 변수, 함수 선언 등의 정보를 담고 있는 전역 객체의 리스트를 가리킨다.
- this value는 this프로퍼티에 할당되는 this 값이다.
'JavaScript' 카테고리의 다른 글
[JavaScript]객체 지향 프로그래밍 (0) | 2023.10.18 |
---|---|
[JavaScript]클로저(closure) (0) | 2023.10.18 |
[JavaScript] this (1) | 2023.10.17 |
[JavaScript] Strict mode (0) | 2023.10.16 |
[JavaScript] 스코프(Scope) (0) | 2023.10.16 |