首页 > 解决方案 > TypeScript:初始化嵌套对象的更简单方法?

问题描述

在 Angular/TypeScript 中工作,一个小问题:假设我有一个带有嵌套对象的已定义对象和一个空白构造函数。(在这种情况下,它来自一个包,所以我无法编辑它;否则我会添加一个构造函数。)

目前我这样初始化它:

var childObj = new ChildObj();
childObj.ChildProp = 'my child prop';

var myObj = new MyObj();
myObj.Prop1 = 'foo';
myObj.Prop2 = 'bar';
myObj.ChildProp = childObj;

有没有更简单的方法来实现上述目标?我认为对象初始化语法在 JS/TypeScript 中不起作用。我很想使用这种语法:

var myObj = new MyObj {
    Prop1 = 'foo',
    Prop2 = 'bar',
    ChildObj = new ChildObj {
        childObj.ChildProp = 'my child prop'
    }
};

标签: javascripttypescriptfunctionobjectecmascript-6

解决方案


试试这个:

let myObj = {
    prop1: 'foo',
    pop2: 'bar',
    childObj: {
        childProp: 'my child prop'
    }
} as MyObj;

推荐阅读