JavaScript のバージョン
JavaScript というと、昔からプログラミングをしている人にとっては、動作環境によって動作がまちまちの面倒臭い言語、という印象を持っている人も多いと思います。
それが Prototype.js や jQuery などのライブラリが登場して、動作環境の違いを吸収するのがかなり簡単になりました。今でもその上でコードを書いている人は少なくないと思います。 というか IE が絶滅してくれない限り、なかなか手放せないのも事実でしょう。
JavaScript は Ecma International によって ECMAScript (ECMA-262) として標準化されています。 ここでは JavaScript を使ってソフトウェアを開発するにあたり知っておくべき、重要なバージョンとバージョンの呼び名について説明します。
1. ECMAScript の標準化の歴史概要
1995年の JavaScript の登場のあと、ECMA のワーキンググループ TC39 によって 1997年6月に ECMAScript エディション 1 として標準化されました。
1999年に ECMAScript エディション 3 公開。
その後、エディション 4 はまとまらず放棄され、エディション 3 の公開から 10 年後にあたる 2009年に ECMAScript エディション 5 が公開されました。
さらに 2015年に ECMAScript エディション 6 が公開されます。
2. 覚えておいたほうが良い、大まかなブラウザのサポート状況
詳細は各種インターネット上の情報を参考にしてもらいたいのですが、大まかに言って、だいたい次のような状況であることを頭に入れておくと役に立つと思います。
2-1. 1999年 es3 : IE10 以前のサポートここまで
1999年の ECMAScript エディション 3 は es3 とも呼ばれます。Internet Explorer (IE) 11 より前のバージョンでサポートされているのは、およそこのレベルです。
IE10 は 2012年に Windows 8 に同梱されてリリースされ、のちに Windows 7 でも利用可能になりました。
ちなみに、私が管理しているウェブサイトのアクセスを見ると IE のアクセスは全体でおよそ 15% 程です。そのうち IE11 に満たないバージョンはさらに 15% ほどになります。 つまり、全体のアクセスの 1%~2% は IE10 以前です。(2019年12年現在)
2-2. 2009年 es5 : IE11 でのサポートもここまで
2009年の ECMAScript エディション 5 は es5 とも呼ばれます。IE 11 ではこのくらいまではサポートされます。
IE11 は Windows 8.1 に同梱されてリリースされました (2013 年10月)。Windows 7 でも 2013年11月には利用可能になっています。
2-3. 2015年 es6 : IE ではサポートされない。現代的なブラウザでサポート
2015年の ECMAScript エディション 6 は es6 とも呼ばれます。IE 11 もほぼ全くサポートしません。Chrome、Safari、Firefox、Edge などの近代的なブラウザではほぼ広くサポートされています。
Promise なども ES6 からのサポートになります。