オブジェクトのスプレッド構文
オブジェクトを浅くコピーするには、`Object.assign`よりもオブジェクトスプレッド構文を優先します。特定のプロパティを除外した新しいオブジェクトを作成するには、オブジェクトレスト構文を使用します。
スプレッド構文 `{ ...original }` は、イミュータブルな操作を促進します。`Object.assign(target, ...sources)` は第一引数の `target` オブジェクトを直接変更(ミューテーション)してしまう可能性がありますが、スプレッド構文は常に新しいオブジェクトを生成します。これにより、副作用のない予測可能なコードが書けます。レスト構文 `{ a, ...noA }` は、特定のプロパティを除いたオブジェクトのコピーを非常に簡潔に作成できる強力な機能です。