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

Mah*_*rni 6 javascript syntax jslint

我有jslint抱怨我使用||运算符代码,

query = ['browser' + (ieVersion ? ieVersion : 'UNKNOWN')]
Run Code Online (Sandbox Code Playgroud)

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

query = ['browser' + ieVersion || 'UNKNOWN'] 
// => ['browserundefined']
Run Code Online (Sandbox Code Playgroud)

Tom*_*icz 6

运算符优先级错误,请尝试以下操作:

query = ['browser' + (ieVersion || 'UNKNOWN')]
Run Code Online (Sandbox Code Playgroud)

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

query = [('browser' + ieVersion) || 'UNKNOWN']
Run Code Online (Sandbox Code Playgroud)

请注意,'browser' + ieVersion从来没有假,所以你永远不会看到'UNKNOWN'.