なっく日報

技術やら生活やらのメモ

Node.js v5系で入るSpread operatorの予習

github.com

を見ると、Node.js v5.0.0でSpread operatorが使えるようになるっぽいので、予習しておきます。

Spread operatorって?

developer.mozilla.org

にあるように、配列や関数の引数として、複数要素が必要なときに配列を展開して渡せるようにする表現です。

日本語で表現し辛いのでコードにて。

// 関数の引数をいい感じに渡す
function log(){
  console.log(...arguments);
  // console.log.apply(console, arguments);
}
log(1, 2, 3);

※ES6のRest parametersが実装されたらargumentsとか使わないんですが、v5には入らないよう

とか

// 配列のコピー
const arr = [1, 2, 3];
const copied = [...arr]; // arr.slice()

とか

// 配列の連結
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
arr1.push(...arr2); // Array.prototype.push.apply(arr1, arr2);

などなど。

まとめ

また一段とNode.jsが書きやすくなりますね!