我有一个可以返回true,false或null的函数。
如何定义此类型?现在,作为一个临时解决方案,我将其定义为boolean | string
,但它具有误导性,有人可能认为它真的可以返回字符串......有什么想法吗?
答案 0 :(得分:9)
这取决于您使用的打字稿版本。
之前null
可以在任何类型上返回("位于"的域中),因此boolean
是您的类型
从2.0开始,如果您启用--strictNullChecks
,则必须指定类型可以返回null
。因此,您的类型将为boolean | null
更多详情here段Non-nullable Types
答案 1 :(得分:1)
默认情况下, null 和undefined是所有其他类型的子类型,因此您只需指定返回值为boolean即可。
function foo(): boolean {
return null; // OK
}