投稿日:2017/05/08
ECMAScript 3(ES3)
Javascript入門!として書かれている内容はほとんどこれ。
Javascriptの今に続く歴史はここから始まったと言って過言ではない。
ECMAScript 5(ES5)
IE8にて部分的に採用されたものが多いが、
正式採用はIE9から。
なんだかんだでIEをフォローし続ける必要のある
実案件で使用できるのは実質ここまで。
個人的によく使うのはこの辺。
Object.keys
Array.prototype.forEach
Array.prototype.map
Array.prototype.filter
String.prototype.trim
Date.now
JSON.parse
JSON.stringify
追加機能に関してはここが明るい。
https://garafu.blogspot.jp/2016/06/ecmascript5.html
実はgetter / setterなんてのもある。
こいつらが活きる実装になるのはまだもうちょっと先。
ECMAScript 2015(ES6)
モダンブラウザ向けにはこれ。
ほぼほぼフォローされている。
残念ながらIEでは11ですら対応がほとんどないので、
実案件では使えないものと考えよう。
Class構文、アロー関数の登場で劇的にモダン化し、
やっとプログラム言語らしくなった。
他にも有用なものがてんこ盛り。
ブロックスコープ(letのおかげ)
定数
Promise
社内ツールでは積極的に使っていこう。
残念ながらESモジュール(import、export)だけは
全ブラウザで未サポートのため、使いたいのであれば
トランスパイラ(BabelとかBabelとか)を使う必要がある。
例によってこのサイトが明るい。
http://garafu.blogspot.jp/2016/06/ecmascript2015-part1.html
(part3まである)
ECMAScript 2016(ES7改めES2016)
追加機能はびっくりするほど少ない。
注目機能の策定はES2017に見送られ、目立たないバージョンに。
ECMAScript 2017(ES2017)
目玉はAsync Functions。
非同期処理は遂にネストから脱却する。
2017/05/08現在デスクトップ、モバイルひっくるめて
Chromeのみ対応している。
とりあえずFirefoxはもういいから、
モバイルSafariには対応して欲しい。
ES2016含めて、以下が明るい。
http://qiita.com/yt-ymmt/items/573ecace8d8523c102b0