そもそもECMAScript is 何
- JSが準拠している標準仕様
- ESと略される
- ECMA Internationalが策定
- 今使われているのはECMAの5
- 2015/6にECMA6が策定
ES6での変更点
- アロー関数 (https://googlechrome.github.io/samples/arrows-es6/index.html)
- let(ブロックスコープの変数宣言)
- const(定数宣言だが、オブジェクトの変更は可能)
- class(class extendsが使えちゃう TypeScriptだとむりくりラムダを使っていたような)
- import (Pythonのimportみたいな使い方)
- テンプレートリテラル(バッククオートで変数展開が可能(シェル芸っぽい))
- Promise(コールバックヘル対策として、newでプロミスを使う メソッドチェーンを使う)
ブラウザの対応状況は
ECMAScript 6 compatibility table
対応してるブラウザはそんなおおくない
- トランスパイラ(対応したバージョンのESに変換する Babelなど)
- ポリフィル(あたらしいブラウザ)
まとめ
- 変更点の多くはシンタックスシュガー(読み書きをしやすくするためのもの)
- ブラウザが標準で対応
- 一部のフレームワークやライブラリはすでに取り入れ始めている(Angular2.2とかBootstrapとか)
- ES6が主流になる時代に備えてみたら