1. 자바스크립트 코드 실행
- 자바스크립트 엔진은
코드 실행 전
실행 컨텍스트를 생성한다.
- 실행 컨텍스트는 두 단계를 통해 생성된다.
생성 단계
에서 자바스크립트 엔진은 변수 선언을 읽는다.
실행 단계
에서 자바스크립트 엔진은 별수 값을 할당한다.
2. 렉시컬 환경(Lexical Environment)
- 함수의 렉시컬 환경은
함수가 사용하는 변수들을 둘러싼 환경
을 의미한다.
- 특정 변수의 값은 함수의 렉시컬 환경 안에서 찾을 수 있다.
- 렉시컬 환경은 실행 컨텍스트 안에 정의된
Variable Oject
로 이해할 수 있다.
3. 생성 단계에서의 코드 실행
- 자바스크립트 엔진은 생성 단계에서
함수 선언문
, 함수 표현식
, 변수
등을 컨텍스트에 저장한다.
- 변수의 경우, 실행 컨텍스트의 렉시컬 환경을 구성한다.
함수 선언문
은 생성 단계에서 함수 전체가 실행 컨텍스트에 저장된다.
- 함수 선언문 외에 변수는 값이 저장되지 않는다.
4. 실행 단계에서의 코드 실행
- 자바스크립트 엔진은 변수에 값을 할당하는 구문을 만나면 실행 컨텍스트에 값을 저장한다.
- 그 외 코드를 한 줄씩 읽어 나가며 실행한다.
자바스크립트 코드 실행