개발자가 작성한 자바스크립트 코드를 해석하고 실행시켜주는 것이 자바스크립트 엔진으로, 가능한 짧은 시간 내에 가장 최적화된 코드를 생성하는 것이 목표입니다. 즉, 자바스크립트 엔진은 자바스크립트 코드를 실행하는 프로그램 혹은 인터프리터를 말합니다. 표준적인 인터프리터로 구현될 수도 있고, 혹은 자바스크립트 코드를 바이트코드로 컴파일하는 JIT 컴파일러로 구현할 수도 있습니다. 여러 목적으로 사용될 수 있지만 주로 웹 브라우저를 위해 사용됩니다.
각각의 자바스크립트 엔진은 특정 버전의 ECMAScript를 구현하기 때문에, ECMAScript가 발전하는 만큼 엔진도 발전합니다. 아래에 적혀있는 것과 같이 수많은 자바스크립트 엔진이 존재하는 이유도 각각의 엔진이 서로 다른 웹브라우저, Node.js와 같은 런타임 등에서 동작하도록 만들어졌기 때문입니다. 많은 자바스크립트 엔진 중 가장 알려져 있는 것이 구글의 v8 엔진입니다.
자바스크립트 엔진의 종류
V8 : 오픈소스로 구글에서 개발했습니다. C++로 작성되었으며, 구글 크롬과 Node.js에서 사용됩니다. 가장 유명합니다.
SpiderMonkey : 최초의 자바스크립트 엔진입니다. 넷스케이프 네비게이터 웹 브라우저를 위해 브랜던 아이크에 의해 개발 되었습니다. 지금은 모질라 파이어폭스에 사용됩니다.
Rhino : 모질라 재단에서 운영합니다. 오픈소스이며, 전체가 자바로 개발되었습니다.
JavaScriptCore : 오픈소스, 니트로라는 이름으로도 알려져 있으며 애플이 사파리를 위해 개발했습니다.
Chakra(Jscript9) : 인터넷익스플로러용입니다.
Chakra(JavaScript) : 마이크로소프트엣지용입니다.
Nashron : 오픈JDK의 일환으로 오픈소스이며 Oracle Java Languages and Tool Group이 개발하였습니다.
JerryScript : 사물인터넷을 위한 경량 엔진입니다.
'기록' 카테고리의 다른 글
meta tag (0) | 2020.11.22 |
---|---|
프론트엔드 용어 정리 (0) | 2020.11.22 |
dir=rtl 이 특수문자에는 먹히지 않을 때 (0) | 2020.11.12 |
[Vue] 뒤로가기 막기 (1) | 2020.11.12 |
[Vue] global mixins (0) | 2020.11.12 |