JavaScript逻辑运算符

2019-09-23  本文已影响0人  明明你也一样

逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。然而,&&|| 运算符会返回一个指定操作数的值,因此,这些运算符也用于非布尔值。这时,它们也就会返回一个非布尔型值。

MDN上关于逻辑运算符是这样解释的,如果你没有一些基础概念很难明白它在说什么。

操作数是运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量 。
表达式是操作数与操作符的组合。

看看百度百科上对操作数和操作符的解释,之后你对操作数、运算符、表达式应该就有了一定的理解。

我们可以简单理解为,你的操作数是什么值,返回的就是什么值。

一个逻辑表达式是从左到右做运算的,例如&&运算符

1&&2&&3 //表达式从左到右依次检查,返回值是3
1&&0&&3 //检查到falsy值0,运算结束,返回值是0

另外||运算符

1||2||3 //检测到trusy值1,后面就不计算了,返回值是1
0||2||3 //检测到trusy值2,后面就不计算了,返回值是2
0||null||NaN //从左到右依次检查,没有trusy值,返回最后的NaN

下面这行代码就不难理解了,如果object为trusy值返回object,如果为falsy值返回最后的{}空对象

var obj = object || {}
上一篇下一篇

猜你喜欢

热点阅读