웹 개발 Web Development/Javascript
실행 컨텍스트 (Context) 의 개념
코딩고블린
2020. 6. 6. 13:51
실행 컨텍스트 (Context)
실행 컨텍스트란, 코드의 흐름(문맥)이나 함수 동작에 필요한 환경 정보가 담긴 객체를 지칭한다.
자바스크립트에서는 다음과 같이 분류할 수 있다.
-
전역 컨텍스트 : 프로그램의 모든 코드, 동작 환경을 포함하는 전역 환경이다. 프로그램 (혹은 페이지)가 종료 될 때 까지 유지된다.
-
함수 컨텍스트 : 함수를 호출 할 때 지정되는 함수 동작 내부 환경
컨텍스트의 실행 과정 (생성 -> 실행)
전역 컨텍스트의 생성 과정
1. 전역 코드에 진입 및 전역 객체 생성
2. 전역 스코프체인 생성(초기화)
3. 변수 객체화
4. this value 지정됨 (초기값: 전역객체 혹은 window)
함수 컨텍스트의 생성 과정
1. 함수 선언 시 함수 스코프 체인 생성
2. 변수, 인자(arguments), scope chain, this 객체화 및 지정 (this: 상위객체 혹은 전역객체)
스코프 체인(scope chain)
스코프 체인은 해당 전역 또는 함수가 참조할 수 있는 변수, 함수 선언 등의 정보를 담고 있는 객체이다.
*호이스팅이란 변수, 함수의 선언부가 최상단으로 끌어올려지는 현상을 이야기한다. 자바스크립트 컴파일러가 선언과 구현(실행)을 별도로 처리하기 때문이다.