You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:54:37