有趣的运算符

有趣的运算符

|| (逻辑或运算符)

逻辑或运算符会从左往右的检查运算符两边的值,非布尔值会被转化成真值与假值(null,undefined,NaN,0,’’,``,""),再进行运算。

如果运算符两边的值均为 false,那么返回 右边的值 。

false || 0   // return 0
false || undefined // return undefined
undefined || false // return false

如果运算符左边的值为true,那么返回该值,并终止运算。

1 || 0   // return 1
0 || {} // return {}
undefined || true // return true

如果运算符两边的值均为true,那么会返回左边的值,并终止运算,这也叫做短路计算。

1 || 0   // return 1

相当于短路计算是由真值触发的。

&& (逻辑与运算符)

与逻辑或相同的是,它也会进行真值假值的转化,并且运算也是从左到右的。
只不过,它的短路计算是由假值触发的。

如果运算符两边的值均为 false,那么返回 左边的值 。(因为短路计算,遇到假值不会计算右边的表达式)

false && 0   // return false
0 && undefined // return 0
undefined && false // return undefined

如果运算符左边的值为true,那么继续计算,并返回运算符右边的值。

1 && 0   // return 0
true && {} // return {}
12 && true // return true

如果运算符两边的值均为true,那么会返回右边的值。

1 && true   // return true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值