ECMAScript(エクマスクリプト)はJavaScriptのベースとなって動く規格のことです。
JavaScriptを学び始めてからECMAScriptという言葉を知るパターンが多いので「JavaScriptに似た別の言語」と勘違いされがちですのでご注意ください。
目次
JavaScriptとの関係性
JavaScriptという言語を形作るためにECMAScriptという規格が存在します。
なので両者の関係性というのは JavaScript=スクリプト言語 ECMAScript=JavaScriptの基礎を作る規格(ルール) として覚えておくと良いでしょう。
ECMAScriptも言語ではあるのですが、言語としての記法などはJavaScriptと違いはありません。
ECMAScriptはJavaScriptで絶対のルール
JavaScriptは様々な環境で動く言語です。 代表的なものにブラウザ、サーバーなどがあります。
JavaScriptの中の一部の記法やルールは、環境によって動かないものがあります。 ただしECMAScriptというルールに含まれる記法は文法は、必ずどの環境でも動くようになっています。
それはEcma Internationalという団体によって標準化されているためです。
Ecma International
ECMAScriptはEcma Internationalという団体によって標準化されています。
標準化とは「標準を決め決まり事を統一すること」を言います。
JavaScriptが国境やOSの壁を超えて動けるのは、Ecma Internationalが主導になりECMAScriptという標準ルールを決めており、それを基準にJavaScriptという言語やソフトウェアが作られているためです。
私達が話す言葉はグローバルに標準化されていないので日本語や英語のように様々な言語が存在します。こうなると言語の壁を超えてコミュニケーションを取るのは大変ですが、JavaScriptはEcma Internationalのおかげで世界中の誰が書いても同じルールになります。
バージョン
ECMAScriptは常に更新されています。 そして定期的にバージョン名が決まりバージョンアップされます。 またECMAScriptはJavaScriptの基礎を作る規格なので、ECMAScriptのバージョンアップ=JavaScriptのバージョンアップとも言えます。
バージョンの歴史
バージョン名 | 公開時期 | 補足 |
---|---|---|
ES1 | 1997年6月 | 初版 |
ES2 | 1998年6月 | 国際標準に対応する |
ES3 | 1999年12月 | スクリプト言語として様々な面でパワーアップする |
ES4 | – | ES4は破棄されておりリリースされていない |
ES5 | 2009年12月 | 2022年時点で最も普及しているバージョン ES5をキッカケにJavaScriptが大きな変化を遂げる |
ES6(ES2015) | 2015年6月 | 策定プロセスが変わり、毎年リリースされるようになる それに伴いバージョン名もES+西暦年で呼ぶことが推奨される |
ES2016 | 2016年6月 | 以降はES2016,ES2017…というパターンのバージョン名に変わり現在に至るまで毎年バージョンアップされている |
… |
バージョン名のESというのはECMAScriptのイニシャルをとった略称です。
なぜES5が最も普及しているのか?
ES5がリリースされたのは2009年にも関わらず、なぜ最も多く使われているのか? それはInternet Explorerというブラウザの影響になります。
Internet Explorerは進化が止まったブラウザではあるのですが、未だに一定のユーザーに使われ続けています。 Internet Explorerユーザーにも正常にJavaScriptが動作させるためにはES5に従ってJavaScriptをプログラミングしなければなりません。
なので多くの開発者はES5の仕様に沿ってウェブサイトやアプリケーションを開発しています。
ただし実際にES5を書くわけではなく、最新の仕様に基づいて書いたJavaScriptをコンパイラでへES5に変換することで対応しています。
なので決してES5を優先的に学習しなければいけない、というわけではありません。