给定以下简单类:
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中,但是typescript编译器报错,错误信息如上所示(this.subscribers.get(event)可能未定义)。
在这种情况下,如果我没有完全错,this.subscribers.get(event)永远不可能是undefined。
我该如何消除这个消息?