嵌套对象上的Typescript断言

有没有一种快速的方法来声明打字稿中的嵌套对象?例如,请参见以下代码:

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被正确断言,但是人员数组却没有:

嵌套对象上的Typescript断言

我被迫遍历数组并分别声明每个吗?像这样:

class Group {
    name: string = '';
    persons: Array<Person> = [];

    constructor(init?: Partial<Group>) {
        Object.assign(this,init);
        this.persons = this.persons.map(p => new Person(p))
    }
}
wish4star 回答:嵌套对象上的Typescript断言

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3149740.html

大家都在问