실행 컨텍스트(Execution Context)
Title
실행 컨텍스트(Execution Context)
Category
JavaScriptTags
Aliases
실행 컨텍스트(Execution Context)
Related
Created
2 years ago
Updated
last year
- 실행 가능한 코드가 실행되기 위해 필요한 환경 정보 객체
- 실행 가능한 코드
- 전역 코드
- Eval 코드
- 함수 코드
- 필요한 환경 정보 객체
- 변수 : 전역 변수, 지역 변수, 매개변수, 객체의 프로퍼티, 함수 선언
- 변수의 유효범위(Scope)
- this
- 실행 가능한 코드
실행 컨텍스트 생성 과정
js
var x = 'xxx';
function foo() {
var y = 'yyy';
function bar() {
var z = 'zzz';
console.log(x + y + z);
}
bar();
}
foo();
var x = 'xxx';
function foo() {
var y = 'yyy';
function bar() {
var z = 'zzz';
console.log(x + y + z);
}
bar();
}
foo();
- 전역 코드에의 진입
- 전역 객체가 생성된다.
- 전역 실행 컨텍스트가 생성된다.
- 실행 컨텍스트 스택에 쌓인다.
- 스코프 체인이 생성된다.
- 스코프 체인이 전역 객체의 레퍼런스를 포함하는 리스트로 초기화된다.
- 변수 객체(Variable Object)화 실행
- 매개변수가 VO에 설정된다. (함수인 경우)
- 함수 선언이 VO에 설정된다. (함수 호이스팅)
- 변수 선언이 VO에 설정된다. (변수 호이스팅)