随笔-特殊运算符

本文介绍了JavaScript中的两个新特性:可选链操作符(?.)和空值合并运算符(??)。可选链操作符允许在对象链中优雅地处理可能不存在的属性,避免报错并返回undefined。空值合并运算符则在检查值是否为null或undefined时提供了一种简洁的方式,它与逻辑或运算符(||)的区别在于不考虑其他 falsy 值。这两个新特性提高了代码的健壮性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 可选链操作符(?.)

当不确定对象内深层是否有某个属性时可以使用

const obj = {}
console.log(obj.a.b)
// 这个时候是会报错的
// 一般情况下,我们会先判断obj内是否有a,再去获取b
obj.a ? console.log(obj.a.b) : console.log('没有b属性')

// ?. 可以替换上面的操作
console.log(obj.a?.b)
// 这个时候不会报错,而是会打印undefined

?. 使用后,有这个属性会返回改属性,若无则返回undefined

2. 空值合并运算符 (??)

2.1 用于判断是否为null 或 undefined。
2.2 它和(||)的区别,|| 是除判断以上并且会判断:①数字类型的0;②false;③空字符串;的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值