「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript におけるオブジェクトの浅いコピーと深いコピー

JavaScript におけるオブジェクトの浅いコピーと深いコピー

2024 年 11 月 8 日に公開
ブラウズ:199

Shallow vs Deep Copy of Objects in JavaScript

オブジェクトを別のオブジェクトにコピーする必要がある場合、通常は次のようなものを使用します:


const mainObject = { id: 1 };
const secondaryObject = { ...mainObject };


しかし、これはオブジェクトの浅いプロパティをコピーする場合にのみ機能します。次のコードのような場合、シナリオは変わります:


const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } };
const secondaryObject = { ...mainObject };


プロパティ ユーザーはコピーされません。それは引き続き mainObject に関連します。したがって、ユーザー プロパティを変更すると、mainObject にも影響します。これを解決するには、次のようにします:


const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } };
const deepCopy = JSON.parse(JSON.stringify(mainObject ));


これで、2 つの異なるメモリ アドレスを持つ mainObject のディープ コピーができました。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/claudioguedes/shallow-vs-deep-copy-of-objects-in-javascript-3d2o?1 侵害がある場合は、削除するために[email protected]に連絡してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3