2012-12-18 15 views
6

के बजाय मैं मेरे कोड के नीचे के लिए || ऑपरेटर का उपयोग करने के लिए शिकायत jslint है,जेस्लिंट '||' का उपयोग करें ऑपरेटर सशर्त ऑपरेटर

query = ['browser' + (ieVersion ? ieVersion : 'UNKNOWN')] 

मैं || ऑपरेटर का उपयोग करने की कोशिश की, लेकिन वह गलत परिणाम में समाप्त होता है,

query = ['browser' + ieVersion || 'UNKNOWN'] 
// => ['browserundefined'] 
+2

Think पूर्वता। –

+0

क्षमा करें मेरा बुरा, मैंने ब्रांड्स के साथ प्रयास किया। अब प्रश्न को अपडेट करें –

+0

उम। लेकिन यह आपके द्वारा स्वीकार किए गए उत्तर में माता-पिता के साथ काम करता है। –

उत्तर

6

Operator precedence गलत है, इस प्रयास करें:

query = ['browser' + (ieVersion || 'UNKNOWN')] 
अतिरिक्त कोष्ठकों

+ ऑपरेटर मजबूत होता है और JavaScript इंजन के रूप में यह मूल्यांकन करता है:

query = [('browser' + ieVersion) || 'UNKNOWN'] 

सूचना है कि 'browser' + ieVersionfalsy कभी नहीं है तो आप कभी भी 'UNKNOWN' नहीं देखेंगे।

+0

धन्यवाद कि काम किया। –

2

कोष्ठक?

query = ['browser' + (ieVersion || 'UNKNOWN')] 
2

आप कोष्ठक में अभिव्यक्ति रैप करने के लिए की जरूरत है:

query = ['browser' + (ieVersion || 'UNKNOWN')] 
संबंधित मुद्दे