किसी वस्तु की एक गहरी प्रतिलिपि उस वस्तु के भीतर आने वाली प्रत्येक वस्तु की नकल करती है जिसे हम कॉपी करना चाहते हैं। प्रतिलिपि और मूल वस्तु कुछ भी साझा नहीं करेगी, इसलिए यह मूल की एक प्रति होगी।
ऑब्जेक्ट को 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 में अपडेट के साथ नहीं बदलता है, इसलिए डीप कॉपी करना सफल रहा।