我们在JavaScript中有一个更简单的三元运算符吗?
这个问题在这里已经有了答案:
Null合并运算符是PHP的最新增加。 它是在PHP 7(2015年12月发布)中推出的,这是自该功能首次推出以来已有10多年的历史。
在Javascript中,逻辑OR运算符可以用于这个目的很长时间(因为Javascript被创建?!)。
正如文件解释:
逻辑或( || )
expr1 || expr2
如果可以将其转换为true ,则返回expr1 ; 否则,返回expr2 。
因此,当与布尔值一起使用时, || 返回true如果操作数是true ; 如果两者都是false ,则返回false 。
而不是写作
var name = obj['name'] ? obj['name'] : 'GOD';
你可以使用较短的:
var name = obj['name'] || 'GOD';
|| 运算符可以被多次使用以创建一个更长的表达式,该表达式的计算结果为非空的第一个操作数的值:
var name = obj['name'] || obj['desc'] || 'GOD';
在JavaScript中,您可以执行以下操作:
var name = obj['name'] || "GOD"
如果第一个值为假( null , false , 0 , NaN , ""或undefined ),则第二个值将被分配。
上一篇: Do we have a simpler ternary operator in JavaScript?
下一篇: What it exactly means in Javascript (assigning variable)
