我们在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)