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

如何在不调用TypeScript函数foo的情况下获取其return type?

无需调用函数就能获取其返回类型的方法

当然可以做到!TypeScript专门提供了工具类型来解决这个需求,完全不用实际调用函数~

先回顾下你的代码场景:
你有这样一个导出的函数:

export const foo = function(){ return { a: 1, b: true, c: 'bar' } };

然后在另一个文件导入:

import {foo} from './foobar';

接下来就是具体的实现方式:

  • 使用TypeScript内置的ReturnType<T>工具类型,它的作用就是提取函数类型T的返回值类型。
  • 首先我们需要用typeof foo获取到foo这个函数的类型,再把它传入ReturnType中,就能得到返回值的类型了。

具体代码示例:

import { foo } from './foobar';

// 提取foo函数的返回类型
type FooReturnType = ReturnType<typeof foo>;

此时FooReturnType会被TypeScript自动推断为{ a: number; b: boolean; c: string; },和你调用foo()得到的对象类型完全一致,而且全程没有执行过foo函数~

如果你的函数是泛型函数,ReturnType也能配合泛型参数灵活使用,不过针对你当前的普通函数场景,上面的写法就完全够用啦。

内容的提问来源于stack exchange,提问作者Alexander Mills

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:44:16