スプレッド構文とは

ECMAScript 2015 で定義された構文。

関数呼び出しでは 0 個以上の引数として、Array リテラルでは 0 個以上の要素として、
Object リテラルでは 0 個以上の key-value のペアとして、Array や String などの iterable オブジェクトをその場で展開する

example.js
// Array const odd = [1, 3] const even = [2, 4] const numbers = [...odd, ...even] console.log(numbers) // [1, 3, 2, 4] //Object const name = {first: "Tanaka", last: "Taro"} const age = {age: 27} const profile = {...name, ...age} console.log(profile) // {first: "Tanaka", last: "Taro", age: 27}

配列やオブジェクトをコピーするだけでなく、マージすることが簡単にできる。
配列であれば hoge.concat()
オブジェクトであれば、 Object.asign()
を使い実現していたことを、短い記述で同様のことを実現できる。

example.js
// Array const numbers = odd.concat(even) // Object const profile = Object.assign(name, age)

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax external_link