实际上我有2个界面:
export class Part {
constructor(
public id?: number,
public part?: string,
public type?: string
) {}
}
export class Session {
constructor(
public genre?: string,
public ordre_interface?: number,
public nb_serie?: number,
public id?: number,
public part_a?: Part,
public part_b?: Part,
) {}
}
然后在我的主.ts文件中,导入这两个接口,并在数组中初始化new Session()
。但是对于part_a和part_b应该是另一个带有class Part
的空对象,我只是未定义,或者我想得到一个空对象。
EXOS = new Session();
如果我在console.log EXOS中获得= [genre: undefined, id: undefined... part_a: undefined...]
或者对于part_a
,我想要一个class Part()
的对象
为此,在我的构造函数中:
this.EXOS.part_a = new Part();
我可以通过一个新的会话初始化EXOS,并在其内部直接从初始化阶段为part_a和part_b新建一个Part()而不是在构造函数中进行此操作吗?
谢谢
答案 0 :(得分:1)
您可以直接在构造函数的声明中提供默认值。
export class Part {
constructor(
public id?: number,
public part?: string,
public type?: string
) {}
}
export class Session {
constructor(
public genre?: string,
public ordre_interface?: number,
public nb_serie?: number,
public id?: number,
public part_a: Part = new Part(),
public part_b: Part = new Part(),
) {}
}
那些不是接口而是类。