换句话说:JavaScript 可以自动创建对象父对象吗?
在已创建“testObject”的示例中...
let testObject = {}
...这会引发错误...
testObject.parent.child.grandchild = { foo: 'ya' };
这可行,但代码很多......
testObject.parent = {};
testObject.parent.child = {};
testObject.parent.child.grandchild = { foo: 'ya' };
如果中间一代可能有数据,事情会变得更复杂,所以需要检查......
if (!testObject.parent) {
testObject.parent = {};
}
if (!testObject.parent.child) {
testObject.parent.child = {};
}
testObject.parent.child.grandchild = { foo: 'ya' };
我正在寻找一种在对象中创建中间代(如果尚未创建)的直接方法。是否可以使用比这些示例更少的代码来实现这一点? (如果这是一个重复的问题,请提前抱歉!)
??=
操作员:
const testObject = {};
((testObject.parent ??= {}).child ??= {}).grandchild = {foo: 'ya'};
console.log(testObject);