如何用嵌套对象初始化空构造函数?



我的代码有以下问题:我不知道如何初始化nestedStudents。每次我尝试这样做,它只是告诉我对象可能是未定义的。

export class StudentDto {
students: number; 
nestedStudents: {
grades: number;
classes: number;
}
constructor(
props: {
students?: number;
nestedStudents?: {
grades?: number
classes?: number
}
} = {},
) {
this.students = props.students || 0;
//How can I initialize nestedStudents here?
}
}

您可以对students执行类似的操作,但将0替换为以下内容:

constructor(
props: {
students?: number;
nestedStudents?: {
grades?: number
classes?: number
}
} = {},
) {
this.students = props.students || 0;
this.nestedStudents =  || {
grades: 0, // default value
classes: 0, // default value
...props.nestedStudent, // overwrite with what's given
// ^ doing `...(undefined)` is fine, it just does nothing
};
}

最新更新