इस उदाहरण में, आप एक प्रोग्राम लिखना सीखेंगे जो ऑब्जेक्ट को क्लोन करता है।
इस उदाहरण को समझने के लिए, आपको निम्नलिखित जावास्क्रिप्ट प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:
- जावास्क्रिप्ट वस्तुओं
- जावास्क्रिप्ट ऑब्जेक्ट .assign ()
एक जावास्क्रिप्ट ऑब्जेक्ट एक जटिल डेटा प्रकार है जिसमें विभिन्न डेटा प्रकार हो सकते हैं। उदाहरण के लिए,
const person = ( name: 'John', age: 21, )
यहाँ, person
एक वस्तु है। अब, आप इस तरह से कुछ करके किसी ऑब्जेक्ट को क्लोन नहीं कर सकते।
const copy = person; console.log(copy); // (name: "John", age: 21)
उपरोक्त कार्यक्रम में, copy
चर का person
ऑब्जेक्ट के समान मूल्य है । हालाँकि, यदि आप copy
ऑब्जेक्ट के मूल्य को बदलते हैं, तो ऑब्जेक्ट में मूल्य person
भी बदल जाएगा। उदाहरण के लिए,
copy.name = 'Peter'; console.log(copy.name); // Peter console.log(person.name); // Peter
परिवर्तन दोनों वस्तुओं में देखा जाता है क्योंकि ऑब्जेक्ट संदर्भ प्रकार हैं । और दोनों copy
और person
एक ही वस्तु की ओर इशारा करते रहे हैं।
उदाहरण 1. Object.assign () का उपयोग करके ऑब्जेक्ट को क्लोन करें
// program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = Object.assign((), person); console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
आउटपुट
(नाम: "जॉन", आयु: 21) पीटर जॉन
Object.assign()
विधि का हिस्सा है ES6 मानक। Object.assign()
विधि प्रदर्शन गहरी कॉपी और प्रतियां सभी एक या अधिक ऑब्जेक्ट से गुण।
नोट : ()
पहले तर्क के रूप में खाली यह सुनिश्चित करता है कि आप मूल वस्तु को नहीं बदलते हैं।
उदाहरण 2: फैल सिंटैक्स का उपयोग करके वस्तु का क्लोन
// program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = (… person) console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
आउटपुट
(नाम: "जॉन", आयु: 21) पीटर जॉन
प्रसार सिंटैक्स …
को बाद के संस्करण (ES6) में पेश किया गया था।
प्रसार वाक्यविन्यास का उपयोग किसी वस्तु की उथली प्रतिलिपि बनाने के लिए किया जा सकता है। इसका मतलब है कि यह ऑब्जेक्ट को कॉपी करेगा। हालांकि, गहरी वस्तुओं को संदर्भित किया जाता है। उदाहरण के लिए,
const person = ( name: 'John', age: 21, // the inner objects will change in the shallow copy marks: ( math: 66, english: 73) ) // cloning the object const clonePerson = (… person) console.log(clonePerson); // (name: "John", age: 21, marks: (… )) // changing the value of clonePerson clonePerson.marks.math = 100; console.log(clonePerson.marks.math); // 100 console.log(person.marks.math); // 100
यहां, जब आंतरिक वस्तु का मूल्य वस्तु के 100 में math
बदल जाता है , तो वस्तु की कुंजी का मूल्य भी बदल जाता है।clonePerson
math
person
उदाहरण 3: JSON.parse () का उपयोग करके ऑब्जेक्ट को क्लोन करें
// program to clone the object // declaring object const person = ( name: 'John', age: 21, ) // cloning the object const clonePerson = JSON.parse(JSON.stringify(person)); console.log(clonePerson); // changing the value of clonePerson clonePerson.name = 'Peter'; console.log(clonePerson.name); console.log(person.name);
आउटपुट
(नाम: "जॉन", आयु: 21) पीटर जॉन
उपरोक्त कार्यक्रम में, JSON.parse()
विधि का उपयोग किसी वस्तु को क्लोन करने के लिए किया जाता है।
नोट : JSON.parse()
केवल शाब्दिक Number
और String
वस्तु के साथ काम करता है । यह एक वस्तु के साथ काम नहीं करता है शाब्दिक function
या symbol
गुणों के साथ ।