ES2017でオブジェクトの全プロパティ値を得るには Object.values が使えるのに

ジブン向けに書いています。保守的にもほどがあるっちゅう話です。

JavaScriptでプログラミングしていると、 オブジェクトのプロパティの値の配列を取り出したい ってことがしょっちゅうあります。

現在最新の ECMAScript 2017 では、 オブジェクトの全プロパティの値を配列として得るために、Object.valuesが使えるのですが、ワタシは従来(ES2015以降)の方法に手がなじんでしまっており、いざという時に「実績ないからなー」的な不安感から使ってこなかったんですね。これって、どこかで無理やりこじ開けないとイケナイやつです。

従来 Object.keys を使って以下のようにしていました。長いですね。

let values = Object.keys(obj).map(function(key) { return obj[key];});

ECMAScript 2015では、アロー関数が使えるので、以下のようにさらに簡潔に書けます。

let values = Object.keys(obj).map(key => obj[key]);

しかし今やECMAScript 2017では、 Object.value を使って、以下のように書けるのです。腱鞘炎すら治りそうな勢いですよ。

let values = Object.values(obj);

どんどん Object.values を使いましょう > ジブン