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

यदि ([] == false) सत्य है, तो ([] || true) का परिणाम [] क्यों होता है? - JavaScript


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

पहले मामले में, हम ढीली सशर्त जाँच (loose conditional checking) का उपयोग कर रहे हैं, जिससे प्रकार जबरदस्ती (type coercion) प्रभावी होती है।

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

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

केस 1 - ([] == false)

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

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

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

फिर यदि ऑब्जेक्ट प्रकार का चर है, तो उसे आदिम मान (primitive value) में बदल दिया जाएगा:

"" == 0

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

0 == 0

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

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

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

Boolean([]) = true

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

  1. JavaScript match() मेथड JavaScript match() मेथड

    JavaScript match() मेथड एक स्ट्रिंग में रेगुलर एक्सप्रेशन के खिलाफ मिलान पाए जाने पर मिलान को एक ऐरे ऑब्जेक्ट के रूप में लौटाता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width

  1. जावास्क्रिप्ट में preventDefault() बनाम return false जावास्क्रिप्ट में preventDefault() बनाम return false

    preventDefault() ब्राउज़र के डिफ़ॉल्ट व्यवहार को रोकता है जब कोई इवेंट फायर होता है, जैसे URL क्लिक पर पेज रीडायरेक्ट न करना। return false भी ब्राउज़र के डिफ़ॉल्ट व्यवहार को रोकता है और इवेंट को प्रोपेगेट नहीं होने देता। कॉलबैक एक्जीक्यूशन भी तुरंत रुक जाता है जब इसे कॉल किया जाता है। जावास्क्रिप्ट

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

    जावास्क्रिप्ट में निम्नलिखित मान बूलियन प्रकार के रूप में मूल्यांकन करने पर false होते हैं: 0 खाली स्ट्रिंग: "" , '' , या `` null undefined NaN - नॉट अ नंबर वैल्यू जावास्क्रिप्ट में फाल्सी वैल्यूज की पहचान के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang=&quo