TypeScript:定义可以是bool或null的类型

时间:2017-03-01 13:30:40

标签: typescript types

我有一个可以返回true,false或null的函数。

如何定义此类型?现在,作为一个临时解决方案,我将其定义为boolean | string,但它具有误导性,有人可能认为它真的可以返回字符串......有什么想法吗?

2 个答案:

答案 0 :(得分:9)

这取决于您使用的打字稿版本。

  • 之前null可以在任何类型上返回("位于"的域中),因此boolean是您的类型

  • 从2.0开始,如果您启用--strictNullChecks,则必须指定类型可以返回null。因此,您的类型将为boolean | null

更多详情hereNon-nullable Types

答案 1 :(得分:1)

默认情况下, null 和undefined是所有其他类型的子类型,因此您只需指定返回值为boolean即可。

function foo(): boolean {

    return null; // OK
}