我有一个具有属性matchMaker
的界面,它看起来像这样:
export interface ServerOptions {
matchMaker: MatchMakerType<MatchMaker>
}
然后我有一个类设置默认值,以便使用如下所示的接口:
export class Server {
public readonly settings: ServerOptions = {
matchMaker: undefined
}
public constructor(options: ServerOptions) {
this.settings = Object.assign(this.settings, options)
}
}
当创建类Server
的新实例时,我希望在将选项传递给构造函数时需要为typeof MatchMaker
设置matchMaker
。我不想让undefined | null
或其他任何内容传递给构造函数,但是我需要将一些值作为默认值,当我使用undefined
时会被覆盖,我得到一个错误:
键入&#39; undefined&#39;不能分配给匹配&#39; MatchMakerType&#39;。
如何设置将被覆盖的默认值?
答案 0 :(得分:3)
您可以使用Partial
来允许Server.settings
中未定义的属性:
public readonly settings: Partial<ServerOptions> = { }