ES2017 の新機能

http://qiita.com/yuyake0084/items/3c901f37ed7333d4da16
async/awaitを除けば細かい落ち葉拾い的な機能追加が多い印象。

Async/Await

ES2016で実装されてるような気がしていたが、実装が近いというステップになっていただけらしい。
ES2017で実装されることになったらしい。
Promiseを使った非同期処理を、同期処理であるかのように記述することができるシンタックスシュガー機能。
詳しくは「* program: C# の async/await」参照。

array.includes

配列に指定した要素が存在するかを確認してtrueかfalseを戻す。
いわゆるexistsやcontains。

string.padStart / string.padEnd

指定文字まで空白や任意の文字で埋める。
いわゆるpadding。
paddingLeft, paddingRightではないのは、右から左に書いていく言語が存在することに考慮しているんだろうか?

「**」演算子

累乗を表す演算子。例えば「2 ** 8」は256になる。

引数を改行で書いた時の最後のカンマを許容する

そのまま。以下がエラーなく動作するようになる。うーむ……。

func(
  arg1,
  arg2,
);

Object.values / Object.entries

valuesはオブジェクトの値の配列。prototypeチェインはしない。for-ofで取得できたやつ。
entriesは[key, value]の配列。prototypeチェインはしない。[[key1, value1], [key2, value2], [key3, value3], ...]というのが返ってくる。{key, value}じゃないのが微妙。

object.getOwnPropertyDescriptors

プロパティの性質が入ったオブジェクトを戻す。
もともと存在したけど、整理されたらしい。