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

जावास्क्रिप्ट में खाली सारणियाँ सत्य और असत्य दोनों का मूल्यांकन क्यों करती हैं?

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

Why Do Empty Arrays Evaluate to Both Truthy and False in JavaScript?

खाली सारणियों की सत्यता और असत्य के साथ समानता पर भ्रम

जावास्क्रिप्ट में, खाली सारणियों को सत्य माना जाता है। हालाँकि, जब आदिम मूल्य असत्य से तुलना की जाती है, तो वे भी असत्य का मूल्यांकन करते हैं। इस हैरान करने वाले व्यवहार को समानता ऑपरेटरों द्वारा किए गए अंतर्निहित प्रकार के रूपांतरणों के लिए जिम्मेदार ठहराया जा सकता है।

आइए प्रदान किए गए उदाहरण कोड पर करीब से नज़र डालें:

var arr = [];
console.log('Array:', arr);
if (arr) console.log("It's true!");
if (arr == false) console.log("It's false!");
if (arr && arr == false) console.log("...what??");

पहला if स्टेटमेंट जांचता है कि क्या arr मौजूद है (क्योंकि यह एक ऑब्जेक्ट है)। चूँकि arr एक ऐरे ऑब्जेक्ट है, यह मौजूद है और स्थिति का मूल्यांकन सत्य पर होता है।

हालाँकि, दूसरा if कथन arr के मान की तुलना करता है (toString() को कॉल करने के बाद) आदिम मान गलत के साथ। जावास्क्रिप्ट में, जब toString() के साथ कॉल किया जाता है, तो [] को एक खाली स्ट्रिंग ("") में बदल दिया जाता है, जिसे एक गलत मान माना जाता है (शून्य, अपरिभाषित, 0, आदि के साथ)। इसलिए, स्थिति भी गलत का मूल्यांकन करती है।

तीसरा यदि कथन AND ऑपरेटर (&&) का उपयोग करके पिछली दो शर्तों को जोड़ता है। चूँकि दोनों arr (अब एक खाली स्ट्रिंग) और arr == false (सही और गलत) का मूल्यांकन गलत पर होता है, पूरी स्थिति का मूल्यांकन गलत पर होता है।

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

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

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

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

Copyright© 2022 湘ICP备2022001581号-3