क्लोनिंग किसी वस्तु को एक चर से दूसरे चर में कॉपी करने के अलावा और कुछ नहीं है। असाइनमेंट ऑपरेटर . का उपयोग करके सरल क्लोनिंग हमारे इरादों के अनुसार काम नहीं करता है। जब क्लोनिंग होती है, तो किसी भी चर में परिवर्तन किसी अन्य चर में किसी प्रकार के परिवर्तन को प्रतिबिंबित नहीं करना चाहिए। लेकिन असाइनमेंट ऑपरेटर . के मामले में , किसी भी चर में परिवर्तन निश्चित रूप से दूसरे चर में प्रतिबिंबित होगा। तो इस कमी को कम करने के लिए ES6 ने स्प्रेड ऑपरेटर . प्रदान किया है .
उदाहरण
निम्न उदाहरण में, क्लोनिंग स्प्रेड ऑपरेटर . का उपयोग करके किया जाता है . अतः एक चर में परिवर्तन दूसरे चर में परिलक्षित होता है।
<html> <body> <script> var org = {org1 : "Serveneedy", org2 : "Praveenlatha", org3 : "Redcross" }; document.write(JSON.stringify("without change org :" + " "+ JSON.stringify(org))); var neworg = org; org.org1 = "gatesfoundation"; document.write("</br>"); document.write(JSON.stringify("with change org :" + " "+ JSON.stringify(org))); document.write("</br>"); document.write(JSON.stringify("change also reflected in neworg :" +" "+JSON.stringify(neworg))); </script> </body> </html>
आउटपुट
"without change org : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "with change org : {\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "change also reflected in neworg :{\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}"
उदाहरण
निम्न उदाहरण में स्प्रेड ऑपरेटर का उपयोग किया जाता है इसलिए मूल वस्तु . में परिवर्तन किया जाता है क्लोन की गई वस्तु में प्रतिबिंबित नहीं होता है।
<html> <body> <script> var org = {org1 : "Serveneedy", org2 : "Praveenlatha", org3 : "Redcross" }; document.write(JSON.stringify("without change org :" + " "+ JSON.stringify(org))); var neworg = {...org}; org.org1 = "gatesfoundation"; document.write("</br>"); document.write(JSON.stringify("with change org :" + " "+ JSON.stringify(org))); document.write("</br>"); document.write(JSON.stringify("change also reflected in neworg" +" "+JSON.stringify(neworg))); </script> </body> </html>
आउटपुट
"without change org : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "with change org : {\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "change also reflected in neworg : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}"