初めに
JavaScriptを学ぶ上でコーディングだけでなくメカニズムを学ぶ機会があったので備忘録
的な意味も込めて記事にした。
初学者ですので間違っているとこが多々あるかもしれません。
ブラウザとJavaScriptエンジン
Webブラウザの種類
- Google Chrome(グーグルクローム)
- Firefox(ファイヤーフォックス)
- Microsoft Edge(マイクロソフト エッジ
- Internet Explorer(インターネットエクスプローラー)
- Safari
JavaScriptエンジンってなに?...
説明: JavaScriptが実行されるエンジン(この機能の上でJavaScriptが動く)
JavaScriptエンジンにも種類があり、Chromeの場合(V8)を採用している
ブラウザ名|JSエンジン
- | -
Google Chrome|V8
Firefox|SpiderMonkey
Microsoft Edge|近年V8に移行
Internet Explorer|30
Safari|JavaScriptCore
この表から分かる通りV8が主要になりつつある
WebブラウザとJavaScriptの関係性
ブラウザにはさまざまな機能がある
- User Interface
- Browser Engine
- Data Storage
- Rendering Engine
- JavaScript Engine
- Networking
- UI Backed
JavaScriptエンジン上でECMAScriptとWebAPIsが提供されている
関係性
- JavaScriptエンジン
- ECMA Script
- Web APIs
- DOM API
- WebRTC
- Fetch API
- XHR API
- etc
V8はOSSとして提供されているため様々な環境でJavaScriptを動かすことができる
様々な環境で動かすことのできるJavaScriptをUniversal JavaScriptという
ECMAScriptとは??
JavaScriptの基本部分の仕様を決めているのがECMAScript。
JavaScriptはCommunications社によって開発されたが、開発当初はブラウザ間の互換性がなかった
そこでjavaScriptの標準化が行われた。
JavaScriptの標準化が行われ基本となる使用がECMAScriptという名前で定められた。
JavaScriptではECMAScriptによる基本機能意外にブラウザに関連する機能が加えられている
まとめ
JavaScriptはJavaScriptエンジンによって動作する
主要のJavaScriptエンジンはV8と呼ばれる
V8はOSSで様々な環境でJavaScriptを動かすことができる
様々な環境で動くJavaScriptをUniversal JavaScriptと呼ぶ
ECMAScriptはJavaScriptを標準化するために作られた基本仕様のことである
JavaScriptはECMAScriptによる基本機能の他ブラウザ関連の機能が加えられている
参考