javascript如果空检查

时间:2015-12-03 02:41:40

标签: javascript if-statement conditional-statements

我在JavaScript教程中找到了这段代码。如果value为null,则读取this.current分配给0,否则分配给值。它是如何工作的?
我很困惑,因为没有null或??代码中的运算符。

this.current=value||0;

4 个答案:

答案 0 :(得分:2)

嗯,||(逻辑或)运算符的语义是这样的,只要它的左侧是 truthy ,它就会短路并返回该值,否则返回什么在右边。

该公共模式通过将可能的 falsy (x)值和默认(y)传递给运算符x || y来利用语义。如果x证明是非虚假的,则整个表达式的计算结果为x,否则为y

那里没有提及

Null,因为null falsy ,并且该模式适用于所有虚假值。

答案 1 :(得分:1)

这是javascript中的运算符||的工作原理。它不是返回一个布尔值,而是返回任一操作数,具体取决于它们是否为真。

如果第一个操作数是“true”值,它直接返回其值而不查看另一个操作数,否则它只返回另一个操作数的值。

答案 2 :(得分:1)

很简单,在右侧你有value || 0评估为this.current。您需要了解的是,右侧首先评估布尔值OR。这就是JS ||应该如何工作的方式。如果它们不是布尔值,则返回值而不是TRUE/FALSE

答案 3 :(得分:-5)

如果使用===比较某些东西,它会比较值和类型。例如

var a = false;
If(a == null){
   //triggered
}

If(a === null){
 //not works
 }