Miyeon

[실행 컨텍스트] 소스 코드 평가와 실행

2021-12-22JS

자바스크립트는 4가지 타입의 소스 코드를 가진다

아래의 소스코드를 평가하여 실행 컨텍스트를 생성한다

전역 코드 —→ 전역 실행 컨텍스트
함수 코드 —→ 함수 실행 컨텍스트
eval 코드 —→ eval 실행 컨텍스트
모듈 코드 —→ 모듈 실행 컨텍스트

자바스크립트 엔진은 소스 코드를 평가하고 실행한다.

  • 소스 코드(선언문)를 평가하고 평가 결과를 실행 컨텍스트가 관리하는 스코프에 등록한다.
  • 스코프에 있는 실행에 필요한 정보를 가지고 소스코드를 실행한 후 실행 결과를 다시 실행 컨텍스트가 관리하는 스코프에 등록한다.

코드예시

var x;
x = 1;

소스 코드의 평가

var x;

실행 컨텍스트를 만들고 변수, 함수 등의 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 실행 컨텍스트가 관리하는 스코프에 등록한다.

소스 코드의 실행

x = 1;

소스 코드 평가 종료 후 소스 코드 실행 시작된다.
이때 x변수가 선언된 변수인지 확인하려면 실행 컨텍스트가 관리하는 스코프에 x가 등록되어 있는지 확인한다.
선언된 변수라면 값을 할당하고 할당 결과를 실행 컨텍스트에 등록하여 관리한다.