※社内専用

【Education】ESMA Script仕様 (Javascript 2)

  • HOME
  • Education
  • 【Education】ESMA Script仕様 (Javascript 2)

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