JavaScript中的逻辑运算符

JavaScript中的几种特殊操作符【&, |, !, ?]

列举了与或非以及一些其他的逻辑运算符

// 逻辑与【双与】左边布尔值为假返回左边的值,为真返回右边的值
console.log(false && 'a');//false
console.log(true && 'a');//a
/* 与符,将值转换成二进制后进行计算,位数上都为1得到1,位数上有0得到0,
二进制计算完毕后转换成十进制数值输出*/
console.log(1 & 2) //0
console.log(1 & 1) //1

// 逻辑或,左边布尔值为假则返回右边的值,为真返回左边的值
console.log(false || 'b');//b
console.log(true || 'b');//true
// 管道符,将值转换为二进制位数上只要有1的得到1,位数上都为0得到0,计算完毕返回十进制数值
console.log(1 | 2) // 3

//转换当前数据为布尔值,除了0,false,null undefined,空值('')等,都返回true
console.log( !! undefined);//false
// 逻辑非,取反操作
console.log(!undefined)//true

下面三项为附加在js中较为常见的的操作符,一并归纳到这里

// 空值合并操作符(??)只有左边的值为undefined和null时,才返回右边的值
console.log(undefined ?? 'c')//c 
// 三元表达式,最左边的布尔类型决定后两个值返回结果,为真返回问号后一个值,为假返回引号后一个值
console.log(undefined ? 'd' : 'e')
var obj = {name:'jerry',major:{math:99,chinese:50}}
// console.log(obj.method())//报错>> TypeError: obj.method is not a function
// 可选链操作符( ?. ),和 链式操作符 . 差不多,不过当值不存在或类型不符时不会报错,会返回undefined
console.log(obj.method?.())//undefined 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讷言丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值