Javascript TypeScript:初始化嵌套对象的更简单方法?
在Angular/TypeScript中工作时,有一个小问题:假设我有一个带有嵌套对象的已定义对象和一个空白构造函数。(在本例中,它来自一个包,因此我无法编辑它;否则我将添加一个构造函数。) 目前我对其进行如下初始化:Javascript TypeScript:初始化嵌套对象的更简单方法?,javascript,typescript,function,object,ecmascript-6,Javascript,Typescript,Function,Object,Ecmascript 6,在Angular/TypeScript中工作时,有一个小问题:假设我有一个带有嵌套对象的已定义对象和一个空白构造函数。(在本例中,它来自一个包,因此我无法编辑它;否则我将添加一个构造函数。) 目前我对其进行如下初始化: var childObj = new ChildObj(); childObj.ChildProp = 'my child prop'; var myObj = new MyObj(); myObj.Prop1 = 'foo'; myObj.Prop2 = 'bar'; myO
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'
}
};
您可以使用以下方法:
var myObj = { ...(new MyObj()), Prop1: "foo", Prop2: "bar", ChildObj: { ...(new ChidlObj()), ChildProp: "my child prop" } };
您可以使用以下方法:
var myObj = { ...(new MyObj()), Prop1: "foo", Prop2: "bar", ChildObj: { ...(new ChidlObj()), ChildProp: "my child prop" } };
试试这个:
let myObj = {
prop1: 'foo',
pop2: 'bar',
childObj: {
childProp: 'my child prop'
}
} as MyObj;
试试这个:
let myObj = {
prop1: 'foo',
pop2: 'bar',
childObj: {
childProp: 'my child prop'
}
} as MyObj;
请注意,这将断开原型链,因此可能缺少方法。请注意,这将断开原型链,因此可能缺少方法。