जावास्क्रिप्ट प्रिमिटिव बनाम ऑब्जेक्ट्स: धारणा को स्पष्ट करना
आम धारणा के बावजूद कि "जावास्क्रिप्ट में लगभग हर चीज एक ऑब्जेक्ट है," सभी नहीं भाषा में संस्थाएँ इस परिभाषा का पालन करती हैं। आदिम और वस्तुओं के बीच यह अंतर स्पष्टीकरण की आवश्यकता है।
आदिम
वस्तुओं के विपरीत, आदिम अपरिवर्तनीय मूल्य हैं जो अपने मौलिक रूप में मौजूद हैं। उनमें तरीकों और गुणों की कमी है, और इसमें डेटा प्रकार शामिल हैं जैसे:
ऑब्जेक्ट रैपर्स
प्रिमिटिव्स में संबंधित ऑब्जेक्ट रैपर्स (स्ट्रिंग, नंबर, बूलियन) होते हैं जो तरीकों और गुणों की पेशकश करते हैं। हालाँकि, आदिम स्वयं वस्तु नहीं हैं। किसी आदिम के गुणों के साथ इंटरैक्ट करने के लिए, जावास्क्रिप्ट स्पष्ट रूप से ऑपरेशन के लिए एक रैपर ऑब्जेक्ट बनाता है।
स्ट्रिंग्स के साथ उदाहरण
नीचे दिए गए कोड स्निपेट पर विचार करें:
var s = "foo"; var sub = s.substring(1, 2); // sub is now the string "o"
जावास्क्रिप्ट आंतरिक रूप से निम्नलिखित चरण निष्पादित करता है:
वस्तुओं के रूप में कार्य
दूसरी ओर, फ़ंक्शन वास्तविक वस्तुएं हैं जो ऑब्जेक्ट वर्ग से विरासत में मिलने में सक्षम हैं। उनके पास गुण हैं और उन्हें अन्य वस्तुओं की तरह हेरफेर किया जा सकता है:function foo() {} foo.bar = "चाय"; चेतावनी(foo.bar); // चायvar s = "foo"; s.bar = "cheese"; alert(s.bar); // undefinedनिष्कर्ष में, हालांकि ऐसा प्रतीत हो सकता है कि आदिम लोगों का व्यवहार वस्तु जैसा है, वे जावास्क्रिप्ट में वास्तविक वस्तुओं से अलग हैं। ऑब्जेक्ट रैपर आदिम मूल्यों के साथ बातचीत की अनुमति देते हैं, लेकिन आदिम अपरिवर्तनीय रहते हैं। हालाँकि, फ़ंक्शंस पूर्णतः पूर्ण ऑब्जेक्ट हैं जो सभी ऑब्जेक्ट क्षमताओं में सक्षम हैं। यह समझ जावास्क्रिप्ट भाषा में आदिम और वस्तुओं के बीच संबंध को स्पष्ट करती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3