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

被折叠的 条评论
为什么被折叠?



