给定以下简单的类:
class Observer {
private subscribers: Map<string, Array<((data: any) => void)>> = new Map();
public subscribe(event: string, callback: (data: any) => void) {
if (!this.subscribers.has(event)) {
this.subscribers.set(event, []);
}
this.subscribers.get(event).push(callback); //tsc says: Object is possibly 'undefined'
}
}
此外,在 tsconfig.json 中,标志strictNullChecks
和strict
已启用。
尽管subscribers
检查了当前事件的键,但打字稿编译器会抱怨上面显示的错误消息(this.subscribers.get(event)
可能未定义)。
如果我没有完全错,this.subscribers.get(event)
永远不会是undefined
这种情况。
我怎样才能摆脱该消息?