此Javascript行中有两个管道符号(OR)

ben*_*e89 25 javascript

可能重复:
"options = options ||是什么 {}"在Javascript中意味着什么?

我在JS中看过这个:

item = item || {};
Run Code Online (Sandbox Code Playgroud)

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

aja*_*221 32

(expr1 || expr2)
Run Code Online (Sandbox Code Playgroud)

"如果可以转换为true,则返回expr1;否则返回expr2."

资源

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


Nie*_*sol 11

它被称为冗余,但在这种情况下它是一件好事.基本上,如果item没有定义(或以其他方式falsy( ,,false ...),然后我们给它的默认值.0""

最常见的例子是事件:

evt = evt || window.event;
Run Code Online (Sandbox Code Playgroud)


Dha*_*dya 7

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

  • 你不值得投票. (4认同)