JavaScript
es6
6to5
babel
es2015

JavaScript ES6 (ES2015) 移行に関する覚書

More than 3 years have passed since last update.


JavaScript ES6 (ES2015) 移行に関する覚書

私はどちらかというと慎重に進めたい方だ。

早く ES6 (ES2015) のいくつかの文法や機能を使って行きたいが、

できれば波風立てずにゆっくりと移行したい。

Node.js と主要ブラウザ(Chrome, Firefox, Edge, ie11, ...)の全てで使える機能から使っていきたい。


2015年11月現在のバージョンで記述している。Node.js 5.0 がリリースされた。



Node.js

サーバ側で使用するものであれば、ES6 のいくつかの文法や機能を使っても良い。

Node v4 LTS や v5 stable で動作するか確認しておくこと。

なんのオプションも指定せずに動作する機能だけを使うと良いと思う。

使ってもいい機能は...

generators (yield), arrow function などだ。


Web Browser

Internet Explorer (IE11 以下) を除外しても良ければ、ES6 のいくつかの文法や機能を使っても良い。

Firefox, Chrome, Edge あたりで必ず動作確認しておくこと。

使ってもいい機能は...

generators (yield), arrow function などだ。


Babel.js (6to5)

altjs や Babel 等を使っても良いが、逆に ES6 の機能が使えるのに ES5 互換のコードに変換してしまって効率が悪くなる可能性もある。

使ってもいい機能は...

generators (yield), arrow function などだ。


2015年11月現在のバージョンで記述している。Babel 6.0 がリリースされた。

async await 等は plugin などでいろいろと指定すれば動くね。



結論

って、事で、すぐに使ってもいい ES6 の機能は...

generators (yield), arrow function などだ。

で、なぜ generators (yield) が使いたいかというと、非同期処理をエレガントに書きたいからだ。

やり方は、以下を見て欲しい。

[JavaScript] 非同期処理のコールバック地獄から抜け出す方法 - Qiita

ES7 async/await + Promise で解決できる事、とES6 generators (yield) + Promise + npm aa (async-await) で解決できる事 - Qiita