2012-05-22 20 views
6

Javascript कोड:|| का प्रयोग करें ऑपरेटर नोटिस

var a = (b) ? b : 40; 

यह काम कर रहा है, बस NetBeans कहते हैं: "|| ऑपरेटर का उपयोग करें (स्तंभ [? कहाँ है])"। मुझे कोई स्पष्टीकरण नहीं मिला।

यह क्या है?

धन्यवाद!

+2

देखें http://stackoverflow.com/questions/2802055/what-does-this-construct-xxy-mean –

उत्तर

6

तुम सिर्फ b की truthyness के लिए परीक्षण कर रहे हैं, तो आप ऐसा कर सकते हैं:

var a = b || 40; 

... जो कम है और (बेशक) और अधिक स्पष्ट। जावास्क्रिप्ट में, || एक शॉर्ट सर्किट ऑपरेटर है। यदि यह सत्य है, तो यह बाएं हाथ की तरफ लौटाता है, अन्यथा यह दाएं हाथ की ओर लौटता है। (यानी यह एक बूलियन वापस नहीं करता है जब तक इनपुट एक बूलियन नहीं था)।

आप देखने के लिए अगर b वास्तव में परिभाषित किया गया है चाहते हैं, तो आप के साथ बेहतर कर रहे हैं:

var a = (typeof b !== "undefined") ? b : 40; 
+0

किस तरह का प्रोग्राम भाषा अभी तक काम करती है? –

+0

@ गैबरवर्ग - मुझे बिल्कुल पता नहीं है कि आप क्या पूछ रहे हैं। – Quentin

3

पाइप or बयान कर रहे हैं। var a = b || 40 कहता है कि यदि बी गैर-झूठा मूल्य है, तो ए = बी, अन्यथा 40.

संबंधित मुद्दे