आइए एक-एक करके शर्तों को देखें -
if(‘0’ == false)
यह निम्नलिखित नियम का पालन करता है -
If Type(y) is Boolean, return the result of the comparison x == ToNumber(y)का परिणाम लौटाएं
==जबरदस्ती टाइप करता है। इसका मतलब है कि दो ऑपरेंड के प्रकार से मेल खाने के लिए एक स्पष्ट प्रकार के रूपांतरण का अनुरोध किया जाता है। बाईं ओर '0' को एक संख्या 0 में बदल दिया गया है। दो संख्याओं की तुलना करने पर, और चूंकि 0 बराबर 0 है, परिणाम सत्य है। इस मामले में, यह काम नहीं करता है क्योंकि इसका मतलब '0' स्ट्रिंग की ट्रुश/झूठी प्रकृति के बारे में नहीं है, क्योंकि इसकी तुलना करने से पहले इसे मजबूर किया गया था।
if(0)
यह स्ट्रिंग के शून्य या खाली होने की जांच करता है, न कि यह शून्य है या नहीं। हमेशा याद रखें, एक गैर-रिक्त स्ट्रिंग सत्य है। यहां किसी प्रकार की जबरदस्ती का उपयोग नहीं किया गया है क्योंकि स्ट्रिंग्स का मूल्यांकन उनके गुणों के आधार पर ट्रुश या मिथ्या के रूप में किया जा सकता है।