किसी ऑब्जेक्ट की डीप कॉपी उस ऑब्जेक्ट के भीतर मिलने वाले हर ऑब्जेक्ट को डुप्लिकेट करती है जिसे हम कॉपी करना चाहते हैं। कॉपी और मूल ऑब्जेक्ट कुछ भी साझा नहीं करेंगे, इसलिए यह मूल की एक प्रति होगी।
सबसे आसान तरीका है ऑब्जेक्ट को JSON स्ट्रिंग में बदलें और इसे वापस JS ऑब्जेक्ट में बदलें। हालांकि यह तरीका मेथड कॉपी करने की अनुमति नहीं देता।
उदाहरण
let obj = { foo: 1, bar: { baz: 'test' } } let newObj = JSON.parse(JSON.stringify(obj)); obj.bar.baz = 20; console.log(obj); console.log(newObj);
आउटपुट
{ foo: 1, bar: { baz: 20 } } { foo: 1, bar: { baz: 'test' } }
यहां newObj मूल obj के अपडेट के साथ नहीं बदलता, इसलिए डीप कॉपी सफल रही।