본문 바로가기

JavaScript

실행 컨텍스트

실행 컨텍스트

실행할 코드에 제공할 환경정보를 모아놓은 객체

- 실행 컨텍스트 3가지 객체

--Variable Object

실행에 필요한 여러 정보들을 담을 객체

변수,

매게변수와 인수

함수 선언

전역 컨텍스트인 경우 => 전역 객체

함수 컨텍스트인 경우 => 활성 객체를 가리킴

--스코프체인

일종의 리스트

전역 객체, 중첩된 함수의 레퍼런스를 저장하고 있음

식별자 중에서 객체의 프로퍼티가 아닌

변수를 검색하는 메커니즘

스코프체인을 통해서 렉시컬 스코프 파악

--this value

함수 호출 패턴에 의해 this 값 결정

- 실행 컨텍스트 생성 과정

///////////// 코드 실행 전

1. 전역 객체가 생성됨

2. 전역 실행 컨텍스트 생성

// 실행 컨텍스트 스택에 쌓임

3. 실행 컨텍스트 바탕으로 일련의 과정 실행

-- 스코프 체인 생성과 초기화

변수 객체화가 실행됨

-- Variable Instantiation (변수 객체화) 실행

(반드시 순서대로 실행됨)

VL-1. 함수의 경우 매개변수가 Variable Object의 프로퍼티, argument가 값으로 설정됨

VL-2. 함수 선언식이 Variable Object의 프로퍼티, 값으로 설정됨

VL-3. 변수들이 Variable Object의 undefined로 설정됨

// 호이스팅

-- this value 결정

함수 호출 패턴에 의해 this에 할당되는 값이 결정

전역 코드의 경우 this => 전역 객체

//////////// 전역 코드의 실행

4. 변수 값의 할당

5. 함수 실행

​​

 

참고자료

poiemaweb.com/js-execution-context

'JavaScript' 카테고리의 다른 글

절대경로 상대경로  (1) 2020.03.15
메소드 함수란 ?  (0) 2020.01.29
stable , unstable, ​inplace  (0) 2020.01.22
promise  (0) 2020.01.20
Asynchronous, Higher Order Function, Event Loop  (0) 2020.01.12