operators - Why does this code produce 3 in JavaScript? -


निम्न कोड क्यों उत्पन्न करता है a == 3 ?

 < कोड> var x = "abc"; var y = 3; var z = "xyz"; var a = x & amp; amp; वाई || z;   

मुझे उम्मीद थी कि इसका परिणाम a == true होगा।

क्यों तार्किक ऑपरेटर "abc" के रूप में true का मूल्यांकन करने पर 3 के रूप में true का मूल्यांकन नहीं करता है। इसके बजाय यह परिणाम के रूप में 3 पैदा करता है।

इसके अलावा, यदि आप y = 0 को बदलते हैं तो a == "xyz" जिसका अर्थ है कि & amp; amp; amp; इलाज 0 के रूप में false । संख्या के रूप में किसी संख्या के इलाज के लिए क्या होगा?

तार्किक ऑपरेटरों के साथ क्या हो रहा है?

यह उम्मीद की जानी है।

जावास्क्रिप्ट (और कई अन्य भाषाओं) में, न केवल बूलियंस स्वयं या गलत हैं, लेकिन अन्य वस्तुएं भी सत्य या झूठी हो सकती हैं (देखें):

मान [â |? | |] यदि आवश्यक हो, तो बूलियन मान में कनवर्ट किया जाता है। यदि मान है [â |? | |] 0 , -0 , नल , झूठा , NaN , अपरिभाषित , या रिक्त स्ट्रिंग ( "" ), [यह] झूठी है किसी भी ऑब्जेक्ट या स्ट्रिंग "झूठे" सहित अन्य सभी मानों, बनाओ [एक ?? |] सच।

तार्किक ऑपरेटरों || < / कोड> और & amp; amp; amp; true या झूठी वापस नहीं लौटते हैं, बल्कि वे पिछले तर्क को यह प्रभावित करते हैं कि वे सही हैं या नहीं झूठा ():

  • expr1 & amp; amp; expr2 एक ??? रिटर्न expr1 अगर इसे गलत में बदला जा सकता है; अन्यथा, expr2 देता है इस प्रकार, जब बूलियन मान के साथ प्रयोग किया जाता है, & amp; amp; & amp; amp; रिटर्न सही होता है अगर दोनों operands सत्य हैं; अन्यथा, झूठी वापसी करता है।
  • expr1 || Expr2 एक ??? रिटर्न expr1 यदि इसे सत्य पर बदला जा सकता है; अन्यथा, expr2 देता है इस प्रकार, जब बूलियन मानों के साथ प्रयोग किया जाता है, = रिटर्न सही होता है यदि एक ऑपरेंड सही है; यदि दोनों झूठे हैं, तो झूठी वापसी करता है।

Comments

Popular posts from this blog

c# - passing input text from view to contoller with FacebookContext using Facebook app -

ios - Does Core Data autoupdate a many to many relationship on saving -

Calling a C++ function from C# by passing a string with variable size to it -