有没有直接的方法可以深度嵌套在JavaScript对象中? [重复]

问题描述 投票:0回答:1

换句话说: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' };

我正在寻找一种在对象中创建中间代(如果尚未创建)的直接方法。是否可以使用比这些示例更少的代码来实现这一点? (如果这是一个重复的问题,请提前抱歉!)

javascript javascript-objects
1个回答
0
投票

??=
操作员:

const testObject = {};

((testObject.parent ??= {}).child ??= {}).grandchild = {foo: 'ya'};

console.log(testObject);

© www.soinside.com 2019 - 2024. All rights reserved.