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

TypeScript泛型实参推断机制:类型推断依据探究

TypeScript泛型类型推断的工作机制

对于你提到的泛型函数:

function identity<Type>(arg: Type): Type {
  return arg;
}

identity(123)

TypeScript编译器是通过函数的参数arg: Type来推断泛型参数Type的类型。

具体逻辑如下:

  • 调用identity(123)时,编译器先识别传入的实参123的类型为number。
  • 由于函数定义里参数arg的类型与泛型参数Type绑定,编译器会把Type推断为number,同时让函数返回值的类型同步为number。
  • 泛型声明identity<Type>只是定义了一个类型占位符,它本身无法提供推断依据,必须依靠函数签名中与它关联的具体参数(或返回值)的类型信息来完成推断。

简单来说:泛型参数的推断依赖于它和函数具体参数(或返回值)的绑定关系,这里正是arg: Type这个绑定让编译器能从实参反推出Type的类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:50:39