我对 typescript 的知识有点生疏。我有一个类MyClass,它有一个成员变量是一个函数。我不知道这个函数在编译时会是什么。我希望外部代码能够在运行时将这个函数设置为某种东西,以便以后可以调用它。将函数初始化为null/void/的typescript语法是什么undefined,然后稍后检查它是否已定义,以便可以调用它?
我的代码:
import { User } from 'User':
export type UserCallback = (user: User | null) => void;
export class MyClass {
private userInfoChangedCallback : UserCallback (WHAT GOES HERE TO INITIALIZE TO NULL?);
setCallback(callback: UserCallback) {
this.userInfoChangedCallback = callback;
}
register = async(username: string, displayName: string, password: string) => {
// do some things here...
if (this.userInfoChangedCallback == null) { IS THIS CORRECT FOR CHECKING == NULL?
this.userInfoChangedCallback(new User(username,displayName));
}
}
1条答案
按热度按时间pw136qt21#
你必须指定你的类成员可以是一个类型或者null,然后你可以指定null作为默认值: