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;③空字符串;的。