26

可能重复:
“options = options || 是什么意思?{}”在 Javascript 中是什么意思?

我在 JS 中看到了这个:

item = item || {};

我猜这是三元运算符的一些变体,但实际上是做什么的?

4

4 回答 4

36
(expr1 || expr2)

“如果可以转换为 true,则返回 expr1;否则,返回 expr2。”

来源

因此,当expr1是(或评估为)其中之一时0,"",false,null,undefined,NaN,则expr2返回,否则expr1返回

于 2012-04-27T23:03:15.437 回答
11

这被称为冗余,但在这种情况下,这是一件好事。基本上,如果item没有定义(或者其他错误的(false, 0, ""...),那么我们给它一个默认值。

最常见的例子是在事件中:

evt = evt || window.event;
于 2012-04-27T22:44:39.547 回答
7

如果 item 存在,则将 item 设置为 item,或将其设置为{}

于 2012-04-27T22:44:38.290 回答
2

它相当于:

if( !item ){ item = {}; }
于 2012-04-27T22:44:04.027 回答