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

如何在TypeScript中获取构造函数的纯函数类型?

TypeScript工具类型:提取构造函数的纯函数类型

你可以通过TypeScript的条件类型结合infer关键字实现这个工具类型,具体代码如下:

interface SomeConstructor {
    new (name: string): number;
    age: number;
}

// 实现的工具类型
type GetFunctionFromConstructor<T> = T extends new (...args: infer Args) => infer Return 
  ? (...args: Args) => Return 
  : never;

// 验证结果
type Ret = GetFunctionFromConstructor<SomeConstructor> // Ret: (name: string) => number

实现说明

  • 用条件类型匹配构造函数的签名结构new (...args: infer Args) => infer Return,通过infer分别提取构造函数的参数列表Args和实例返回类型Return。
  • 当输入类型T符合构造函数结构时,返回对应的普通函数类型(参数为Args,返回值为Return);若不符合则返回never类型。
  • 该工具类型会自动忽略构造函数上的其他属性(比如示例中的age字段),仅提取构造签名对应的纯函数类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:44:51