TypeScript中定义可选返回值函数的类型兼容问题咨询
TypeScript中定义可选返回值函数的类型兼容问题咨询
嘿,我最近在TypeScript里折腾带可选返回值的函数类型时,遇到了个让人挠头的小问题,想跟大家请教下。
最开始我是这么写的:
type Foo = () => number | undefined const foo: Foo = function() { // 这个函数里没有任何返回语句 // 结果TypeScript直接给我报错了 // 错误提示是:Type 'void' is not assignable to type 'number | undefined'. }
我本来觉得,函数没返回值不就相当于返回undefined吗?怎么TypeScript就不认呢?
后来我试着把类型改成了number | void,这下之前的报错倒是消失了,但新的麻烦又找上门来——之后我调用这个foo函数,想要拿它的返回值做一些数值操作的时候,TypeScript总是因为返回值可能是void类型,不让我直接用,得额外加一堆类型判断,用起来特别啰嗦。
有没有啥办法能既让空函数的类型匹配上,又能在调用的时候少点类型判断的麻烦呀?
内容来源于stack exchange
相关产品推荐
相关产品推荐

