我在 JS 中看到了这个:
item = item || {};
我猜这是三元运算符的一些变体,但实际上是做什么的?
我在 JS 中看到了这个:
item = item || {};
我猜这是三元运算符的一些变体,但实际上是做什么的?
(expr1 || expr2)
“如果可以转换为 true,则返回 expr1;否则,返回 expr2。”
因此,当expr1
是(或评估为)其中之一时0,"",false,null,undefined,NaN
,则expr2
返回,否则expr1
返回
这被称为冗余,但在这种情况下,这是一件好事。基本上,如果item
没有定义(或者其他错误的(false
, 0
, ""
...),那么我们给它一个默认值。
最常见的例子是在事件中:
evt = evt || window.event;
如果 item 存在,则将 item 设置为 item,或将其设置为{}
它相当于:
if( !item ){ item = {}; }