ऑब्जेक्ट.सील () . के बीच का अंतर और ऑब्जेक्ट.फ्रीज () यह है कि पूर्व किसी वस्तु के मौजूदा गुणों में परिवर्तन की अनुमति दे सकता है जबकि बाद वाला वस्तु में किसी भी परिवर्तन की अनुमति नहीं देगा। ऑब्जेक्ट फ्रीज () किसी वस्तु को प्रतिरक्षा . बनाता है कुछ भी करने के लिए, मिनट परिवर्तन भी नहीं बदले जा सकते।
ऑब्जेक्ट.सील ()
ऑब्जेक्ट.सील () विधि मौजूदा संपत्ति को हटाने से रोकती है लेकिन यह मौजूदा गुणों को बाहरी परिवर्तनों से नहीं बचा सकती है।
उदाहरण
निम्नलिखित उदाहरण में, Object.seal() . के कारण विधि उपयोगकर्ता परिभाषित संपत्ति "prop1" को हटाए जाने के बावजूद हटाया नहीं जाता है, जबकि केवल संपत्ति "prop1" का मूल्य अपडेट किया जाता है।
<html> <body> <script> var object1 = { prop1: 1 }; Object.seal(object1); object1.prop1 = 2; // value got changed delete object1.prop1; document.write(object1.prop1); // it gives value as 2 because of seal. </script> </body> </html>
आउटपुट
2
ऑब्जेक्ट.फ्रीज ()
Object.seal() . की कार्यक्षमता के अतिरिक्त , द ऑब्जेक्ट.फ्रीज () विधि किसी वस्तु के मौजूदा गुणों में मिनट परिवर्तन की अनुमति भी नहीं देगी।
उदाहरण
<html> <body> <script> var object1 = { prop1: 1 }; Object.freeze(object1); object1.prop1 = 2; // value got updated delete object1.prop1; // value got deleted document.write(object1.prop1); // it gives 1 as output despite value updated to 2 </script> </body> </html>
आउटपुट
1