자바스크립트를 실행하기 위해서는 자바스크립트 엔진이 필요하다
자바스크립트 엔진은 기본적으로 웹 브라우저에 내장되어 있다.
물론 브라우저마다 엔진의 종류가 다르지만 코드 실행과정은 비슷하기 때문에 웹 브라우저에서 자바스크립트 엔진을 이용한 코드 실행 과정은 알고있어야 한다.
자바스크립트 엔진을 이용한 코드 실행 과정은 다음 그림과 같다.
- 자바스크립트 소스코드를 파싱(parsing)하여 AST(Abstract Syntax Tree)로 변환한다.
- 인터프린터(Interpreter)는 AST를 기반으로 하여 바이트 코드(Byte code)를 생성한다.
- 인터프리터가 바이트코드를 생성할 때 사용되는 함수 및 타입 정보들을 프로파일링 데이터(Profiling data)를 최적화 컴파일러(Optimizing compiler)로 전달한다.
- 최적화 컴파일러는 프로파일링 데이터를 기반으로 하여 최적화 코드(Optimized code)를 생성한다.
- 여기서 프로파일링 데이터 중 잘못 전달된 정보들은 최적화 해제(Deoptimize)단계를 거쳐 다시 바이트 코드에 전달되고 이전 동작들을 반복해서 수행한다.
이미지 출처
'JavaScript' 카테고리의 다른 글
[javascript] 널 병합 연산자(nullish coalescing operator) (0) | 2021.08.26 |
---|---|
[javascript] 함수 선언문과 함수 표현식 (0) | 2021.04.22 |
[javascript] var vs let vs const (0) | 2021.02.24 |
[javascript] "use strict" (엄격 모드) (0) | 2021.02.10 |
[javascript] IntersectionObserver API (0) | 2021.02.01 |