中級 › スプレッド構文{ ...obj }はネストした値までは複製しない(浅いコピー) › パターン1
スプレッド構文{ ...obj }はネストした値までは複製しない(浅いコピー)
{ ...obj }や[...arr]は最上位のプロパティだけをコピーします。
1 const original = { name: "Al", address: { city: "Tokyo" } }; 2 const copy = _________________________; ^ 3 copy.address.city = "Osaka"; 4 console.log(original.address.city);
出力: Osaka期待: Tokyo (エラーにはなりません)
空欄を埋めて実行を通す
スプレッド構文は最上位のプロパティしかコピーしません。addressオブジェクトは元と同じ参照のままなので、コピー先を変更すると元のデータも変わります。structuredClone()は深いコピーになります。
次の問題