トップQs
タイムライン
チャット
視点
JavaScriptエンジン
ウィキペディアから
Remove ads
JavaScriptエンジン (英語: JavaScript engine) は、JavaScriptのコードを実行するコンピュータプログラムである。初期のJavaScriptエンジンは単なるインタプリタであったが、近年の全てのエンジンは、性能の向上のためにJITコンパイルを利用している[1]。
![]() | この項目「JavaScriptエンジン」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "JavaScript engine" 2019年10月16日 (水) 18:18(UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2019年11月) |
JavaScriptエンジンは通常、ウェブブラウザのベンダーによって開発されており、全ての主要なブラウザはそのエンジンを搭載している。ブラウザでは、JavaScriptエンジンはDOMを介してレンダリングエンジンと連携して実行される。
JavaScriptエンジンの使用はブラウザに限定されたものではなく、例えば、V8は一般的なNode.jsランタイムシステムのコアコンポーネントとして使用されている。
ECMAScriptはJavaScriptの標準仕様で、ECMAScriptエンジン (英語: ECMAScript engine) はJavaScriptエンジンの別名として使われる。
Remove ads
歴史
最初のJavaScriptエンジンはNetscape Navigator向けにブレンダン・アイクによって1995年に作成された。これは彼によって新たに開発された言語であるJavaScriptのための初歩的なインタプリタであった[注釈 1]。
最初のモダンなJavaScriptエンジンは、GoogleがGoogle Chrome (Chromium) のために作成したV8である。V8は2008年にChromeの一部として登場し、それ以前のどのエンジンよりも遥かに優れた性能であった[2][3][4]。V8はJITコンパイルを採用したことが革新的であり、これによって実行時間を大幅に改善することができる。
V8との競争のために、他のブラウザベンダーはインタプリタの性能を改善する必要があった[5]。AppleはSafari向けにNitroを開発した。このエンジンは以前のエンジンより30%優れた性能を示した[6]。MozillaはNitroを部分的に活用して、SpiderMonkeyを改良した[7]。OperaはインタプリタをCarakanに置き換えた。このエンジンは場合によっては従来より2倍高速であった[8]。
2017年から、主要ブラウザがWebAssemblyに対応するようになると、性能が重要となる部分で事前にコンパイルされた実行ファイルを使用できるようになった。JavaScriptエンジンは通常のJavaScriptのコードと同じサンドボックスでWebAssemblyのコードを実行する。
Remove ads
主なエンジン
→詳細は「ECMAScriptエンジンの一覧」を参照
- V8 - Googleによって開発された最も使用されているJavaScriptエンジンで、Google ChromeなどのChromiumベースのブラウザで使用されている。また、CEFやElectron (ソフトウェア)などのChromiumが組み込まれているソフトウェアフレームワークによって構築されているアプリケーションでも使用されている。その他の使用例としては、Node.jsランタイムシステムが含まれている。
- SpiderMonkey - MozillaによってFirefoxと派生物向けに開発された。GNOME Shellでの拡張機能の対応のためにも使用されている。
- JavaScriptCore - AppleのSafari向けのエンジンであり、その他のWebKitベースのブラウザでも使用されている。KDEのKJSがベースとなっている[9]。
- Chakra - Microsoft Edgeのエンジンであり、Internet Explorerの同名のエンジンからフォークした。MicrosoftはEdgeをChromiumベースとして再開発しており[10][11]、これによりV8を使用するように変更される。Internet Explorerでは引き続きChakraが使用される。
- Hermes - Facebookが開発したエンジンであり、React Nativeを使用するAndroidアプリ向けに最適化されている[12]。
Remove ads
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads