본문 바로가기

Javascript/실행 컨텍스트

execution context

728x90

 자바스크립트 엔진은 소스코드를 2개의 과정을 거친다. "소스코드의 평가"와 "소스코드의 실행" 과정으로 나누어 처리한다. 

1. 소스 코드의 평가 (선언문)

 소스코드 평가 과정에서 실행 컨텍스를 생성하고 변수와, 함수등의 선언문만 먼저 실행 즉 변수나 함수 식별자를 키로 실행 컨텍스트가 관리하는 렉시컬 환경의 환경 레코드에 등록한다. 

 

2. 소스 코드의 실행 

 소스코드 평가 과정이 끝나면 비로소 선언문을 제외한 소스코드가 순차적으로 실행되기 시작한다. (런타임의 실행) 이 때 소스코드 실행에 필요한 정보, 즉 변수나 함수의 참조를 실행 컨텍스트가 관리하는 스코프에서 검색해서 취득한다. 그리고 변수 값의 변경 등 소스코드의 실행 결과는 다시 실행 컨텍스가 관리하는 스코프에 등록된다.

 

3. 예시를 통한 이해

var x;
x = 1;

 

  •  먼저 소스 평가 과정에서 변수 선언문 var x;를 먼저 실행한다. 이때 생성된 변수 식별자 x는 실행 컨텍스트가 관리하는 스코프에 등록되고 undefined로 초기화  
  • 실행에서는 변수 할당문 x=1만 실행

 

728x90