强制使用空值

时间:2019-04-30 17:16:34

标签: typescript

我想要一个可以为数字或null的变量。这样做的目的是多次重置变量(将其设置为null)。问题是,如果我声明类型为number | null的变量,则在我知道它是数字的情况下,不能像使用数字一样使用它。

代码如下:

class Test {
    start: number | null = null;

    handler(e: Event) {
        if (this.start === null) {
            this.start = Date.now();
        }

        let time = Date.now() - this.start;
        if (time < 1000) {
            this.start = null;
        }
        // ...
    }
}

编译器说this.start“可能为空”。我怎么能说对呢?否则,我的模式有问题吗?我应该使用布尔属性hasStarted代替,因此start始终是数字(或未定义的顺便说一句)吗?

1 个答案:

答案 0 :(得分:-1)

start: number | null更改为start?: number,以使编译器知道您知道它有时可能为null,并且您将对其进行处理。