Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट में Object.freeze() और const में मुख्य अंतर क्या है?

Object.freeze() और const के बीच अंतर यह है कि पूर्व म्यूटेबिलिटी को रोकता है जबकि बाद वाला म्यूटेबिलिटी को नहीं रोकता। बेहतर समझ के लिए आइए उन्हें व्यक्तिगत रूप से चर्चा करें।

Const

Const का व्यवहार let के समान है। एक बार किसी वेरिएबल को const का उपयोग करके परिभाषित करने के बाद इसे रीअसाइन नहीं किया जा सकता। Const द्वारा घोषित वेरिएबल्स ब्लॉक स्कोप्ड होते हैं न कि फंक्शन स्कोप्ड जैसा कि var द्वारा परिभाषित किया गया है।

const कीवर्ड की मुख्य कमी यह है कि यह ऑब्जेक्ट को म्यूटेबिलिटी से नहीं रोकता। ऑब्जेक्ट की प्रॉपर्टीज को बदला जा सकता है भले ही वह ऑब्जेक्ट const का उपयोग करके परिभाषित किया गया हो। इसे म्यूटेबिलिटी कहा जाता है। एक सामान्यीकरण है कि const का उपयोग करके असाइन किया गया कोई भी वेरिएबल पुनः असाइन नहीं किया जा सकता। लेकिन जब कोई ऑब्जेक्ट const का उपयोग करके परिभाषित किया जाता है, तो उसकी प्रॉपर्टीज बदली जा सकती हैं। उस परिदृश्य में म्यूटेबिलिटी को रोकने के लिए const से बचना बेहतर है।

उदाहरण

निम्नलिखित उदाहरण में प्रारंभ में प्रॉपर्टी 'country' का मान "India" है। लेकिन बाद में मान को England में बदल दिया जाता है भले ही वेरिएबल const का उपयोग करके असाइन किया गया हो।

<html> <body> <script>    const person = {       "name" : "Suresh",       "Country" : "India",       "Designation" : "Mayor"    }    person.Country = "England"    document.write(person.Country); </script> </body> </html>

आउटपुट

England

Object.freeze()

यह मेथड इम्युटेबिलिटी प्रदान करता है। एक बार कोई ऑब्जेक्ट फ्रीज हो जाने पर, उसकी प्रॉपर्टीज नहीं बदली जा सकतीं।

निम्नलिखित में भले ही प्रॉपर्टी "country" का मान "India" से "England" में बदल दिया गया हो, इम्युटेबिलिटी के कारण मान "India" अपना स्थान बरकरार रखता है।

उदाहरण

<html> <body> <script>    const person = {       "name" : "Suresh",       "Country" : "India",       "Designation" : "Mayor"    }    Object.freeze(person);    person.Country = "England"    document.write(person.Country); </script> </body> </html>

आउटपुट

India
  1. जावास्क्रिप्ट में फंक्शन्स और मेथड्स में क्या अंतर है? जावास्क्रिप्ट में फंक्शन्स और मेथड्स में क्या अंतर है?

    जावास्क्रिप्ट में फंक्शन्स और मेथड्स समान हैं, लेकिन एक मेथड एक फंक्शन है, जो एक ऑब्जेक्ट की प्रॉपर्टी है।निम्नलिखित जावास्क्रिप्ट में फंक्शन का एक उदाहरण है:function functionname(param1, param2){    // code }उदाहरणमेथड एक ऑब्जेक्ट से जुड़ा फंक्शन है। निम्नलिखित जावास्क्रिप्ट में मेथड का ए

  1. - JavaScript में `new Object()` और ऑब्जेक्ट लिटरल नोटेशन में अंतर क्या है?

    new Object() नोटेशन और ऑब्जेक्ट लिटरल ({}) नोटेशन दोनों वही काम करते हैं। वे एक ऑब्जेक्ट इनिशियलाइज़ करते हैं। हालांकि, यदि आप इसमें प्रॉपर्टीज़ जोड़ना शुरू करते हैं तो दूसरा नोटेशन थोड़ा अलग हो सकता है। उदाहरण let a = { name: Ayush } यह इनिशियलाइज़ेशन इसके बराबर है: let a = new Object(); a.name =

  1. जावा और जावास्क्रिप्ट में क्या अंतर है? जावा और जावास्क्रिप्ट में क्या अंतर है?

    वेब डेवलपर जेरेमी कीथ ने 2009 में कहा था, जावा का जावास्क्रिप्ट से वही रिश्ता है जो हैम का हैम्स्टर से। इस उपमा की सटीकता पर बहस हो सकती है, लेकिन इसके पीछे की भावना ठोस है: जावा और जावास्क्रिप्ट, एक सामान्य भाषाई जड़ साझा करने के बावजूद, दो बिल्कुल अलग प्रोग्रामिंग भाषाएं हैं। वर्षों में ये थोड़ा ओ