スプレッド構文
関数
apply を置き換える
code:sample1-1.js
function sum(x, y, z) {
return x + y + z;
}
console.log(sum(...numbers));
// expected output: 6
console.log(sum.apply(null, numbers));
// expected output: 6
new 演算子と併用
code:sample1-2.js
const d = new Date(...dateFields);
// Thu Jan 01 1970 00:00:00 GMT+0900 (日本標準時)
配列
複製する
code:sample2-1.js
const arr2 = ...arr; // arr.slice(); console.log(arr2.push(4));
連結する
code:sample2-2.js
分割する
code:sample2-3.js
console.log(a); // 1
console.log(b); // 2
重複を除く
code:sample2-4.js
Object.assign() を使うよりも短いコード
code:sample4.js
const obj1 = { foo: 'bar', x: 42 };
const obj2 = { foo: 'baz', y: 13 };
const clonedObj = { ...obj1 };
// Object { foo: "bar", x: 42 }
const mergedObj = { ...obj1, ...obj2 };
// Object { foo: "baz", x: 42, y: 13 }