【发布时间】:2018-05-06 15:07:15
【问题描述】:
我不明白为什么
1) 'https://api.rest.com/v1/users/' + userId + '/resource/' 和
2) resourceId ? resourceId : ''
两者都正确评估。
但是,当我尝试对一行进行评估时:'https://api.rest.com/v1/users/' + userId + '/resource/' + resourceId ? resourceId : ''
它只计算第二个原始表达式 (2)。
这是什么原因?
【问题讨论】:
-
您不能只将三元条件加到字符串连接上。这不是他们的工作方式。
-
使用括号
-
这都是关于运算符优先级的。同样的原因 4 + 5 = 9 和 0 * 4 + 5 不是。
标签: javascript ternary-operator