Jslint使用'||'运算符而不是条件运算符

时间:2012-12-18 17:36:29

标签: javascript syntax jslint

我有jslint抱怨我使用||运算符代替以下代码

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

我尝试使用||运算符,但结果错误,

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

3 个答案:

答案 0 :(得分:6)

Operator precedence错了,试试这个:

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

没有额外的括号+运算符更强大,JavaScript引擎将其评估为:

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

请注意,'browser' + ieVersion永远不会虚假,因此您永远不会看到'UNKNOWN'

答案 1 :(得分:2)

括号?

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

答案 2 :(得分:2)

您需要将表达式括在括号中:

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