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

यदि ([] ==असत्य) सत्य है, तो ([] || सत्य) का परिणाम [] क्यों होता है? - जावास्क्रिप्ट

<घंटा/>

यदि हम समस्या कथन को करीब से देखें, तो ([] ==असत्य) और ([] || सत्य) के बीच का अंतर निम्नलिखित है -

पहले मामले में, हम ढीली सशर्त जाँच का उपयोग कर रहे हैं, जिससे टाइप ज़बरदस्ती हावी हो जाती है।

जबकि दूसरे मामले में, हम [] का मूल्यांकन उसके संबंधित बूलियन (सत्य या असत्य) से कर रहे हैं, जो हुक के नीचे प्रकार के दबाव के बजाय फ़ंक्शन बूलियन () का उपयोग करता है।

आइए अब उन रूपांतरणों का अनावरण करें जो दोनों ही मामलों में पर्दे के पीछे होते हैं।

केस 1 - ([] ==असत्य)

MDN डॉक्स के अनुसार यदि दो डेटा प्रकार कहते हैं कि x और y की तुलना लूज़ इक्वलिटी ऑपरेशन ( ==) का उपयोग करके की जाती है, तो,

संख्या () फ़ंक्शन का उपयोग करके बूलियन मान को एक संख्या में बदल दिया जाएगा -

तो, अब स्थिति बन जाती है -

[] == 0// Number(false) = 0

फिर यदि वस्तु प्रकार के चर को आदिम मूल्य में परिवर्तित किया जाएगा -

"" == 0

और अंत में खाली स्ट्रिंग को एक संख्या में बदल दिया जाएगा -

0 == 0

उपरोक्त अंततः सत्य लौटाता है

केस 2 - ([] || सच)

इस मामले में [] का सत्य/झूठा मान इनबिल्ट बूलियन() फ़ंक्शन का उपयोग करके इसे बूलियन में परिवर्तित करके चेक किया जाएगा। और,

Boolean([]) = true

इसलिए, सत्य मान [] बरकरार रखा जाता है।


  1. जावास्क्रिप्ट मैच ()

    यदि रेगुलर एक्सप्रेशन के विरुद्ध स्ट्रिंग में मिलान पाया जाता है, तो JavaScript मिलान () मैच को एक सरणी ऑब्जेक्ट के रूप में लौटाता है। जावास्क्रिप्ट मैच () विधि के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना, .परिणाम {फ़ॉन

  1. रोकेंडिफॉल्ट () बनाम जावास्क्रिप्ट में झूठी वापसी?

    जब कोई ईवेंट फ़ायर किया जाता है, जैसे url क्लिक पर पेज को रीडायरेक्ट नहीं करना आदि, तो PreventDefault डिफ़ॉल्ट ब्राउज़र व्यवहार को रोक देता है। जब कोई ईवेंट निकाल दिया जाता है तो रिटर्नफ़ल्स डिफ़ॉल्ट ब्राउज़र व्यवहार को भी रोकता है और ईवेंट को प्रचारित नहीं होने देता है। कॉलबैक निष्पादन भी रोक दिया

  1. जावास्क्रिप्ट में गलत मूल्यों की पहचान करना

    बूलियन प्रकार −false . के रूप में मूल्यांकन किए जाने पर JavaScript में निम्न मान असत्य का मूल्यांकन करते हैं 0 खाली स्ट्रिंग: , , या `` शून्य अपरिभाषित NaN — संख्या मान नहीं जावास्क्रिप्ट में मिथ्या मानों की पहचान करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="e