JavaScript中能否在字符串拼接中使用内联if/then/else语句?
字符串拼接中能否使用内联条件语句?
当然可以,但你的代码存在运算符优先级问题和语法错误,才导致报错。
先拆解你的代码问题:
- 语法错误:三元表达式后面多了个多余的分号
;,直接打断了代码结构。 - 运算符优先级问题:JavaScript 中
+的优先级高于==,你的代码会先执行<b>Test :</b> " + "null"的拼接,再把这个结果和"null"做相等判断,完全偏离了你原本要先判断再拼接的逻辑。
修正后的代码如下:
console.log("<b>Test :</b> " + ("null" == "null" ? "0" : "1") + "<br>")
关键改动:
- 给整个三元表达式加上括号
(),强制让条件判断先执行,得到结果后再参与字符串拼接。 - 删掉三元表达式后面多余的分号。
运行修正后的代码,会输出预期的<b>Test :</b> 0<br>。
内容的提问来源于stack exchange,提问作者leparc
相关产品推荐
相关产品推荐

