typescript 将类函数初始化为null

olhwl3o2  于 2022-12-24  发布在  TypeScript
关注(0)|答案(1)|浏览(245)

我对 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));
        }
    }
pw136qt2

pw136qt21#

你必须指定你的类成员可以是一个类型或者null,然后你可以指定null作为默认值:

private userInfoChangedCallback: UserCallback | null = null

相关问题