Javascript 三元语句需要额外的括号

Javascript 三元语句需要额外的括号,javascript,ternary,Javascript,Ternary,以下是我的代码的简化版本: var cond = true; var res1 = "400" + cond ? "%" : "px"; var res2 = "400" + (cond ? "%" : "px"); 结果如下: res1 = "%"; res2 = "400%"; 我错过什么了吗?似乎这两个语句都应该等于“400%”——为什么第一个语句没有拾取字符串的第一部分?By,conditional小于addition(在本例中,是串联)“400”+秒?“%”:“px”相当于(“40

以下是我的代码的简化版本:

var cond = true;
var res1 = "400" + cond ? "%" : "px";
var res2 = "400" + (cond ? "%" : "px");
结果如下:

res1 = "%";
res2 = "400%";
我错过什么了吗?似乎这两个语句都应该等于“400%”——为什么第一个语句没有拾取字符串的第一部分?

By,conditional小于addition(在本例中,是串联)<代码>“400”+秒?“%”:“px”相当于
(“400”+秒)?“%”:“px”

By,conditional低于addition(在本例中,是串联)<代码>“400”+秒?“%”:“px”相当于
(“400”+秒)?“%”:“px”

因为它使用
“400”+cond
作为条件语句因为它使用
“400”+cond
作为条件语句