逻辑运算符| |在javascript中,0代表布尔值false?
我碰巧知道下面的代码 下面是代码,非常简单:逻辑运算符| |在javascript中,0代表布尔值false?,javascript,boolean,logical-operators,or-operator,Javascript,Boolean,Logical Operators,Or Operator,我碰巧知道下面的代码 下面是代码,非常简单: var test = 0 || -1 ; console.log(test); 然后控制台中的输出为-1 不知怎的,我对javascript真的很陌生 我想到的是0在JS中代表布尔False,因此|操作符似乎忽略了0,并将值-1赋给变量 我说的对吗? 我只想确认一下 | |-expr1 | | expr2(逻辑或) 如果可以将expr1转换为true,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,如果任一操作数为真,则返回真;
var test = 0 || -1 ;
console.log(test);
然后控制台中的输出为-1
不知怎的,我对javascript真的很陌生
我想到的是0在JS中代表布尔False,因此|
操作符似乎忽略了0,并将值-1赋给变量
我说的对吗?
我只想确认一下
| |
-expr1 | | expr2
(逻辑或)
如果可以将expr1转换为true,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,如果任一操作数为真,则返回真;如果两者都为false,则返回false
&&
-expr1&&expr2
(逻辑与)
如果可以将expr1转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,如果两个操作数都为true,&&将返回true;否则,返回false
以下值在条件语句中等于false:
- 假的
- 空的
- 未定义
- 空字符串
(\“”
)“”
- 数字0
- 号码是NaN
所以<代码>var测试=0 | |-1代码>返回
-1
如果它是var test=0 | | | | | | | |未定义| |“| | 2 | |-1
它将返回2
逻辑运算符打开是!。。。。。谢谢你的指点!其中有以下代码:
var user=function(ops){return{firstName:ops.name | | |“John”,lastName:ops.name | | |“Doe”,email:ops.email | |”test@test.com,name:function(){return this.firstName+this.lastName}}}
--因此,我猜如果第一个值是“truthy”(已定义),它会赋值否则第二个值是默认值?@Fuhrmanator是的,这是正确的。|和&&不(一定)返回布尔值。它们可以更好地描述为操作数选择器运算符。在| |的情况下,如果第一个操作数可以强制为true,则返回第一个操作数,否则返回第二个操作数。&&具有相反的行为。