के उद्देश्य को समझना || जावास्क्रिप्ट में गैर-बूलियन ऑपरेंड वाला ऑपरेटर
जावास्क्रिप्ट में, || ऑपरेटर, जिसे अक्सर तार्किक या ऑपरेटर के रूप में जाना जाता है, आमतौर पर बूलियन अभिव्यक्तियों का मूल्यांकन करने के लिए उपयोग किया जाता है। हालाँकि, आपको ऐसे उदाहरण मिल सकते हैं जहाँ || ऑपरेटर का उपयोग गैर-बूलियन मानों के साथ किया जाता है।
ऐसे परिदृश्यों में, || ऑपरेटर "डिफ़ॉल्ट" ऑपरेटर के रूप में व्यवहार करता है। एक बूलियन लौटाने के बजाय, यह कुछ नियमों के आधार पर बाएँ या दाएँ ऑपरेंड लौटाता है।
एक बड़ी जेएस लाइब्रेरी से निम्नलिखित उदाहरण पर विचार करें जो एक कैनवास में ड्राइंग ऑपरेशन करता है:
var $time = Date.now || function() { return new Date; };
इस उदाहरण में, || ऑपरेटर का उपयोग $time वेरिएबल को मान निर्दिष्ट करने के लिए किया जाता है। यदि Date.now विधि Date ऑब्जेक्ट पर मौजूद है, तो इसे $time वेरिएबल को असाइन किया जाएगा। अन्यथा, एक अज्ञात फ़ंक्शन जो वर्तमान समय लौटाता है उसे इसके बजाय असाइन किया गया है।
इस व्यवहार को समझने की कुंजी यह समझने में निहित है कि OR ऑपरेटर अपने ऑपरेंड में पहला सत्य मान या अंतिम गलत मान लौटाता है। इस मामले में, Date.now विधि एक सत्य मान है (यह मानते हुए कि यह मौजूद है), इसलिए इसे वापस कर दिया जाता है। यदि Date.now मौजूद नहीं है, तो अनाम फ़ंक्शन सत्य मान बन जाता है और वापस आ जाता है।
इसका उपयोग || डिफ़ॉल्ट ऑपरेटर के रूप में ऑपरेटर जावास्क्रिप्ट में प्रचलित है और डिफ़ॉल्ट मान निर्दिष्ट करने के तरीके के रूप में अपने उद्देश्य के साथ संरेखित होता है। उदाहरण के लिए, यदि कोई विशिष्ट संपत्ति सेट नहीं है तो आप इसका उपयोग किसी वैरिएबल को मान निर्दिष्ट करने के लिए कर सकते हैं:
var user = user || { name: "Unknown User" };
समझकर || गैर-बूलियन ऑपरेंड के साथ ऑपरेटर के व्यवहार के आधार पर, आप अपने जावास्क्रिप्ट कोड में गतिशील और बहुमुखी मूल्य असाइनमेंट प्रदान करने के लिए इसकी कार्यक्षमता का उपयोग कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3