"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या जावास्क्रिप्ट आदिम वस्तुएँ वास्तव में वस्तुएँ हैं?

क्या जावास्क्रिप्ट आदिम वस्तुएँ वास्तव में वस्तुएँ हैं?

2024-11-15 को प्रकाशित
ब्राउज़ करें:784

Are Javascript Primitives Actually Objects?

जावास्क्रिप्ट प्रिमिटिव बनाम ऑब्जेक्ट्स: धारणा को स्पष्ट करना

आम धारणा के बावजूद कि "जावास्क्रिप्ट में लगभग हर चीज एक ऑब्जेक्ट है," सभी नहीं भाषा में संस्थाएँ इस परिभाषा का पालन करती हैं। आदिम और वस्तुओं के बीच यह अंतर स्पष्टीकरण की आवश्यकता है।

आदिम

वस्तुओं के विपरीत, आदिम अपरिवर्तनीय मूल्य हैं जो अपने मौलिक रूप में मौजूद हैं। उनमें तरीकों और गुणों की कमी है, और इसमें डेटा प्रकार शामिल हैं जैसे:

  • Strings
  • Numbers
  • Booleans

ऑब्जेक्ट रैपर्स

प्रिमिटिव्स में संबंधित ऑब्जेक्ट रैपर्स (स्ट्रिंग, नंबर, बूलियन) होते हैं जो तरीकों और गुणों की पेशकश करते हैं। हालाँकि, आदिम स्वयं वस्तु नहीं हैं। किसी आदिम के गुणों के साथ इंटरैक्ट करने के लिए, जावास्क्रिप्ट स्पष्ट रूप से ऑपरेशन के लिए एक रैपर ऑब्जेक्ट बनाता है।

स्ट्रिंग्स के साथ उदाहरण

नीचे दिए गए कोड स्निपेट पर विचार करें:

var s = "foo";
var sub = s.substring(1, 2); // sub is now the string "o"

जावास्क्रिप्ट आंतरिक रूप से निम्नलिखित चरण निष्पादित करता है:

  1. एस से एक स्ट्रिंग रैपर ऑब्जेक्ट बनाता है।
  2. सबस्ट्रिंग को कॉल करता है( ) स्ट्रिंग ऑब्जेक्ट पर विधि। ]
  3. प्राइमेटिव को गुण निर्दिष्ट करना प्रभावी रूप से संभव नहीं है क्योंकि ऐसी कोई भी प्रॉपर्टी अस्थायी रैपर ऑब्जेक्ट से जुड़ी होगी न कि प्रिमिटिव से:
  4. var s = "foo"; एस.बार = "पनीर"; चेतावनी (एस.बार); // अपरिभाषित

वस्तुओं के रूप में कार्य

दूसरी ओर, फ़ंक्शन वास्तविक वस्तुएं हैं जो ऑब्जेक्ट वर्ग से विरासत में मिलने में सक्षम हैं। उनके पास गुण हैं और उन्हें अन्य वस्तुओं की तरह हेरफेर किया जा सकता है:

function foo() {} foo.bar = "चाय"; चेतावनी(foo.bar); // चाय
var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined
निष्कर्ष में, हालांकि ऐसा प्रतीत हो सकता है कि आदिम लोगों का व्यवहार वस्तु जैसा है, वे जावास्क्रिप्ट में वास्तविक वस्तुओं से अलग हैं। ऑब्जेक्ट रैपर आदिम मूल्यों के साथ बातचीत की अनुमति देते हैं, लेकिन आदिम अपरिवर्तनीय रहते हैं। हालाँकि, फ़ंक्शंस पूर्णतः पूर्ण ऑब्जेक्ट हैं जो सभी ऑब्जेक्ट क्षमताओं में सक्षम हैं। यह समझ जावास्क्रिप्ट भाषा में आदिम और वस्तुओं के बीच संबंध को स्पष्ट करती है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3