Open1
スプレッド構文とは

ざっくりの理解
リストやオブジェクトの中にリスト/オブジェクトをそのまま入れるとネストしてしまうが、スプレッド構文を使うことで要素をネストすることなく渡せる
// リストの例
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
// ネストされた配列
const nestedArray = [array1, array2];
console.log(nestedArray); // [[1, 2, 3], [4, 5, 6]]
// スプレッド構文を使って要素を展開
const spreadArray = [...array1, ...array2];
console.log(spreadArray); // [1, 2, 3, 4, 5, 6]
// オブジェクトの例
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
// ネストされたオブジェクト
const nestedObj = { obj1, obj2 };
console.log(nestedObj); // { obj1: { a: 1, b: 2 }, obj2: { c: 3, d: 4 } }
// スプレッド構文を使ってプロパティを展開
const spreadObj = { ...obj1, ...obj2 };
console.log(spreadObj); // { a: 1, b: 2, c: 3, d: 4 }