undefined === undefined || undefined > undefined
और undefined >= undefined
, या "इससे अधिक या बराबर है" में इस या ||
के रूप में ही नहीं है।
जहां तक यह चिंतित है, तुलनात्मक ऑपरेटरों जैसे >, <, >=
आदि संख्याओं के लिए हैं और undefined
संख्याएं नहीं हैं, undefined
अपरिभाषित है।
10 >= "Hello World"
पर वापसी मूल्य के रूप में आप क्या अपेक्षा करेंगे? बेशक एक झूठा, लेकिन फिर 10 >= "10"
true
देता है क्योंकि 10 == "10"
सत्य है और 10 === "10"
गलत है। "10" को एक संख्या में परिवर्तित किया जा सकता है, इसलिए हम उस परिणाम को देखते हैं जो वास्तविक संख्या के मामले में वापस किया गया होगा और संख्याओं के साथ स्ट्रिंग नहीं।
वहाँ के रूप में करने का विरोध किया !=
>=
के लिए कोई सख्त समानता ऑपरेटर संस्करण है जो है !==
कुछ वास्तव में अजीब और भ्रामक बातें होती हैं जब आप null
, undefined
, NaN
की तुलना की कोशिश है - यह कुछ ऐसा है जावास्क्रिप्ट के विनिर्देश सकता है उत्तर देने में सक्षम होने के बाद से और जावास्क्रिप्ट एक बहुत ही कमजोर टाइप की गई भाषा है और प्रकार बहुत लचीला हैं, इसलिए कोई 10
और "10"
की तुलना कर सकता है और फिर भी वे परिणाम प्राप्त कर सकते हैं जिन्हें आप केवल तब प्राप्त कर सकते हैं जब आपने अन्य भाषाओं में दो पूर्णांक की तुलना की थी।
प्रश्न और चर्चा प्रत्यक्ष डाउन वोट से अधिक स्वागत है। धन्यवाद।
स्रोत
2017-10-06 15:07:10
मेरा अनुमान है कि 'अपरिभाषित' दोनों को 'NaN' के लिए मजबूर किया गया है जो स्वयं के बराबर नहीं है। – Xufox
'अपरिभाषित === अपरिभाषित || अपरिभाषित> अपरिभाषित 'और' अपरिभाषित> = अपरिभाषित ', या "से अधिक या बराबर" में या इस तरह के समान नहीं है या '||' –
@ दीपककमत'> = 'के दृश्यों के पीछे क्या होता है? मुझे लगता है कि यह सवाल – theonlygusti