Loading AI tools
위키백과, 무료 백과사전
자바스크립트 엔진(JavaScript engine)은 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터이다. 자바스크립트 엔진은 전통적인 인터프리터일 수도 있고, 특정한 방식으로 바이트코드로 JIT 컴파일을 할 수 있다.[1] 여러 목적으로 자바스크립트 엔진을 사용하지만, 대체적으로 웹 브라우저에서 사용된다.[2][3]
2008~2009년에 2차 브라우저 전쟁 이전에 자바스크립트 엔진(자바스크립트 인터프리터, 자바스크립트 구현체로 불렸음)은 단순히 자바스크립트 소스 코드를 읽고 실행했던 인터프리터였다.
최초의 자바스크립트 엔진은 넷스케이프 내비게이터 웹 브라우저를 위해 넷스케이프의 브렌던 아이크에 의해 개발되었다. 코드명 스파이더몽키의 엔진은 C++로 구현되어 있다. 그 뒤로 (자바스크립트 1.5에서) ECMA-262 에디션 3을 준수하며 업데이트되었다. Norris Boyd(넷스케이프 출신)가 주로 개발한 라이노 엔진은 자바의 자바스크립트 구현체이다. 스파이더몽키처럼 라이노는 ECMA-262 에디션 3을 준수한다. 이 기술의 응용 프로그램에는 애플 사파리 4의 Nitro, 구글 크롬의 V8, 모질라 파이어폭스 3.5의 스파이더몽키가 있다.
현재까지 자바스크립트의 가장 일반적인 호스트 환경은 웹 브라우저이다. 웹 브라우저는 일반적으로 퍼블릭 API를 사용하여 문서 객체 모델(DOM)을 자바스크립트에 반영하는 일을 맡는 호스트 오브젝트를 생성한다.
자바스크립트는 ECMA스크립트의 방언이며 수많은 응용 프로그램, 특히 웹 브라우저에서 지원된다. 방언에는 언어, 표준 라이브러리, 또 W3C 특화 문서 객체 모델(DOM)과 같은 관련 API의 확장이 포함될 수 있다. 즉, 응용 프로그램이 공통 하위 집합의 지원 기능과 APi(코어)만을 사용하여 작성되지 않을 경우 하나의 방언으로 작성된 응용 프로그램은 다른 것과는 호환되지 않을 수 있음을 뜻한다.
방언과 구현체는 별개이다. 방언은 한 언어의 종류이며 언어(방언)의 구현체는 해당 언어로 작성된 프로그램을 실행한다.
응용 프로그램 | 방언과 최신 버전 | ECMAScript 에디션 |
---|---|---|
구글 크롬, V8 엔진 | 자바스크립트 | ECMA-262, 에디션 6 |
모질라 모질라 파이어폭스, 게코 레이아웃 엔진, 스파이더몽키, 라이노 | 자바스크립트 1.8.5 | ECMA-262, 에디션 6 |
사파리, Nitro 엔진 | 자바스크립트 | ECMA-262, 에디션 6 |
마이크로소프트 엣지, 차크라 엔진 | 자바스크립트 | ECMA-262, 에디션 6 |
오페라, Carakan 엔진 (오페라 2015까지) | 일부 자바스크립트 1.5, J스크립트 확장이 포함된 ECMAScript[9] | ECMA-262, 에디션 5.1 |
KHTML 레이아수 엔진, KDE의 캉커러 | 자바스크립트 1.5 | ECMA-262, 에디션 3 |
어도비 애크러뱃 | 자바스크립트 1.5 | ECMA-262, 에디션 3 |
오픈라즐로 | 자바스크립트 1.4 | ECMA-262, 에디션 3 |
맥스 (소프트웨어) | 자바스크립트 1.5 | ECMA-262, 에디션 3 |
ANT Galio 3 | RMAI 확장이 포함된 자바스크립트 1.5 | ECMA-262, 에디션 3 |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.