逻辑运算符||在javascript中,0代表布尔值false?

时间:2012-03-06 06:58:37

标签: javascript boolean logical-operators or-operator

我碰巧知道以下代码

以下是代码,非常简单:

var test = 0 || -1 ;
console.log(test);

然后控制台中的输出为 -1

不知怎的,我真的很喜欢javascript,

所有我想到的是 0 代表JS中的布尔 False ,因此||运算符似乎忽略0并赋值 - 1到变量

是的,我说得对吗? 我只想要确认

1 个答案:

答案 0 :(得分:16)

  • || - expr1 || expr2 (逻辑或)

      

    如果可以转换为true,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,||如果任一操作数为true,则返回true;如果两者都为假,则返回false ..

  • && - expr1 && expr2 (逻辑AND)

      

    如果可以转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,&&如果两个操作数都为真,则返回true;否则,返回false。

Javascript中的所有值都是“truthy”或“falsy” 在条件语句

中,以下值等效于false
  • 未定义
  • 空字符串""(\ ''
  • 数字0
  • 数字NaN

所有其他值均等于true。


所以... var test = 0 || -1 ;会返回-1

如果是var test = 0 || false || undefined || "" || 2 || -1,则会返回2


MDN

上的逻辑运算符