JavaScriptエンジン

JavaScriptエンジン () は、JavaScriptのコードを実行するコンピュータプログラムである。初期のJavaScriptエンジンは単なるインタプリタであったが、近年の全てのエンジンは、性能の向上のためにJITコンパイルを利用している。
JavaScriptエンジンは通常、ウェブブラウザのベンダーによって開発されており、全ての主要なブラウザはそのエンジンを搭載している。ブラウザでは、JavaScriptエンジンはDOMを介してレンダリングエンジンと連携して実行される。
JavaScriptエンジンの使用はブラウザに限定されたものではなく、例えば、V8は一般的なNode.jsランタイムシステムのコアコンポーネントである。
ECMAScriptはJavaScriptの標準仕様なので、ECMAScriptエンジン () はJavaScriptエンジンの別名である。
歴史.
最初のJavaScriptエンジンはNetscape Navigator向けにブレンダン・アイクによって1995年に作成された。これは彼によって新たに開発された言語であるJavaScriptのための初歩的なインタプリタであった。
最初のモダンなJavaScriptエンジンは、GoogleがGoogle Chrome (Chromium) のために作成したV8である。V8は2008年にChromeの一部として登場し、それ以前のどのエンジンよりも遥かに優れた性能であった。V8はJITコンパイルを採用したことが革新的であり、これによって実行時間を大幅に改善することができる。
V8との競争のために、他のブラウザベンダーはインタプリタをオーバーホールする必要があった。AppleはSafari向けにNitroを開発した。このエンジンは以前のエンジンより30%優れた性能を示した。MozillaはNitroを部分的に活用して、SpiderMonkeyを改良した。OperaはインタプリタをCarakanに置き換えた。このエンジンは場合によっては従来より2倍高速であった。
2017年から、主要ブラウザがWebAssemblyに対応するようになり、性能が重要となる部分で事前にコンパイルされた実行ファイルを使用できるようになった。JavaScriptエンジンは通常のJavaScriptのコードと同じサンドボックスでWebAssemblyのコードを実行する。