- JavaScript 코드를 실행하는 프로그램 또는 인터프리터입니다. 대체적으로 웹 브라우저에서 사용됩니다.
- 엔진에 의한 인터프리터 방식이므로 별도의 컴파일 과정이 필요 없습니다. (즉, 웹 브라우저에서 즉시 해석되어 실행됩니다. = 런타임)
브라우저 별 엔진 종류
스파이더 몽키(Spider Monkey)
- 최초의 JavaScript 엔진
- 넷스케이프 브라우저를 위해 브렌던 아이크(JS 창시자)에 의해 개발
- C++ 기반
- JavaScript 1.5 버전에서 ECMA-262 에디션 3을 준수하여 업데이트 되었으며, 현재는 Mozilla 재단에서 관리하고 FireFox에서 사용
Chakra
- 마이크로소프트가 개발한 엔진이며, Edge 브라우저에서 사용
- Chakra 엔진의 중요 부분은 Chakra Core라는 오픈소스로 구성
JavaScript Core
- 애플에서 개발한 JavaScript Core는 처음에 Webkit 프레임워크를 위해 개발
- 최근에는 Safari와 React Native App에서 사용
V8
- JavaScript 엔진의 대표적인 예는 Google V8 엔진으로 C++로 작성되었으며 구글이 개발한 오픈소스
- V8은 Chrome과 Node.js에서 사용
주요 브라우저들의 런타임 구조