业务代码中经常会遇到这样的情况,a对象有个属性b, b也是一个对象有个属性c,
我们需要访问c,经常会写成 a.b.c,但是如果f不存在时,就会出错。
const a = {
b: {
c: 123,
}
}
console.log(a.b.c); // 123;
console.log(a.f.c); // f不存在所以会报错
复制代码
ECMAScript2020定义可选链运算符解决该问题,通过在.之前添加一个?将键名变成可选
let person = {};
console.log(person?.profile?.age ?? 18); // 18
作者:隐冬
链接:https://juejin.cn/post/6898168495591292942
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。