作者:雅茹敬俐6999 | 来源:互联网 | 2022-12-25 11:32
为什么0 &&和布尔值计算为0而不是布尔值?
0 && false
> 0
0 && true
> 0
但是false && 0返回false而true && 0返回true
false && 0
> false
我认为数值和假表达式总是会返回一个布尔值.
1 && false
> false
Quentin..
5
请参阅MDN的文档:
&&和|| 运算符实际上返回一个指定操作数的值,因此如果这些运算符与非布尔值一起使用,它们可能返回非布尔值
和
expr1 && expr2
:如果可以转换为false,则返回expr1; 否则,返回expr2.
由于0
可以转换为false,并且0
是expr1
,它返回0
.
1> Quentin..:
请参阅MDN的文档:
&&和|| 运算符实际上返回一个指定操作数的值,因此如果这些运算符与非布尔值一起使用,它们可能返回非布尔值
和
expr1 && expr2
:如果可以转换为false,则返回expr1; 否则,返回expr2.
由于0
可以转换为false,并且0
是expr1
,它返回0
.