有没有一种快速的方法来声明打字稿中的嵌套对象?例如,请参见以下代码:
class Person {
name: string = '';
age: number = 0;
constructor(init?: Partial<Person>) {
Object.assign(this,init);
}
}
class Group {
name: string = '';
persons: Array<Person> = [];
constructor(init?: Partial<Group>) {
Object.assign(this,init);
}
}
const test = {
name: 'Justice League',persons: [
{ name: 'Batman',age: 35 },{ name: 'Superman',age: 42}
]
}
const result = new Group(test);
console.log(result);
我可以看到Group get被正确断言,但是人员数组却没有:
我被迫遍历数组并分别声明每个吗?像这样:
class Group {
name: string = '';
persons: Array<Person> = [];
constructor(init?: Partial<Group>) {
Object.assign(this,init);
this.persons = this.persons.map(p => new Person(p))
}
}