classやアロー関数の登場したES2015に比べて、ES2016は地味な感じがします。
しかし、2017年になる前にもう一度ES2016を振り返ってみましょう!
Array.prototype.includes
これはArray.prototype.indexOf
みたいな感じで、配列の中の要素を確認できます。
indexOfとの違いは値があればtrue
、なければfalse
を返す所です。
すっきり書くことができます。
const items = [1, 2, 3, 4, 5];
// Array.prototype.indexOf
if (items.indexOf(4) !== -1) {
console.log(items.indexOf(4)); // 3
}
// Array.prototype.includes
if (items.includes(4)) {
console.log(items.includes(4)); // true
}
Exponentiation Operator
累乗計算に使用するMatn.pow()が簡単に書けるようになりました。
Math.pow(4, 2); // 16
4 ** 2 //16
let count = 3;
count **= count; // 27
・・・以上です。
まとめ
promiseやgenerator関数に関する仕様の変更はあったみたいですが、ES2016で追加された機能はこれだけみたいです。
個人的には、今後await/asyncなど実用的な機能が追加されるのでそっちのほうが楽しみです。