JavaScriptが利用されている最も一般的な環境がブラウザ環境です。ブラウザでは、取得したコンテンツを画面に表示する処理(レンダリング)やユーザー入力処理(UI)など様々な処理を行なっています。そして、それらの機能の中で、JavaScriptコードを解析して実行する処理のことを JavaScriptエンジンと呼びます。
JavaScriptコード(単にスクリプトとも呼びます)は、この JavaScriptエンジンの上で実行されることになります。JavaScriptエンジンには、さまざまな種類があります。例えば、Firefoxブラウザでは SpiderMonkey、Chromeブラウザでは V8という JavaScriptエンジンが使用されています。
ブラウザ | JavaScriptエンジン |
---|---|
Chrome | V8 |
Safari | JavaScriptCore |
Firefox | SpiderMonkey |
Edge | V8 |
V8は Google社が開発する Chromeブラウザ以外に、Microsoft社が開発する Edgeブラウザでも使用されています。また、Node.jsという JavaScriptの実行環境でも、V8が JavaScriptエンジンとして採用されています。なお、Safariと JavaScriptCoreは Apple社が開発し、Firefoxと SpiderMonkeyは Mozilla財団という団体が開発しています。
ブラウザ環境では、ECMAScriptの仕様で決められている機能に加えて Web APIが使用できます。Web APIとは、JavaScriptコードからブラウザを操作するために、ブラウザがアプリケーション(以下、アプリ)の開発者に提供している機能(API)のことです。Web APIを使うことで、ブラウザ独自の機能を利用できます。例えば、Web APIに含まれる DOM APIを使えば、JavaScriptコードからブラウザの画面の表示や変更を行えますし、Geolocation APIを使えば位置情報などを取得できます。
一方、Node.jsの環境では、大部分の Web APIは使用できません。