没有“无法读取未定义的属性‘xxx’”错误的速记 javascript 对象嵌套属性访问

问题描述

我一直在寻找一种方法来访问嵌套级别的对象属性而不会出现 Cannot read property 'xxx' of undefined 错误

我还想轻松设置可能不存在的认值。

解决方法

我遇到过这样的事情的唯一方法是:

var someObject = {};
var myVar = someObject?.that?.might?.or?.mightnot?.have?.this?.property ?? 'default';

if (someObject?.that?.might?.or?.mightnot?.have?.this?.property === 'some-check') {
    // this throws no error
}

console.log(myVar);