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

函数采用延迟绑定泛型类型的官方称谓是什么?

TypeScript中延迟绑定泛型的官方称谓

你所说的“仅在调用时确定泛型类型”的函数,在TypeScript官方文档中被称为泛型函数(Generic Functions)。与之相对的“定义时确定泛型约束”的场景,属于**泛型类型别名(Generic Type Aliases)**定义的函数类型。

核心区别

  • 泛型函数(对应示例中的LateOp):泛型参数直接声明在函数签名上,只有函数被调用时,TypeScript才会根据传入参数推断或显式指定泛型类型。每次调用都可使用不同泛型类型,实现“延迟绑定”。
  • 泛型类型别名定义的函数(对应示例中的Op<EarlyT>):泛型参数属于外层类型别名,引用该类型别名时必须确定泛型参数(如Op<number>),得到的是固定类型的函数,调用时无法变更泛型约束。

代码示例对比

// 泛型类型别名:定义阶段确定泛型参数,得到固定类型函数
type Op<EarlyT> = (item: EarlyT) => void;
const numberOp: Op<number> = (item) => console.log(item.toFixed(2));
// numberOp("123") 会报错,已绑定为number类型

// 泛型函数:调用阶段确定泛型类型,支持延迟绑定
type LateOp = <LateT>(late: LateT) => void;
const genericOp: LateOp = (item) => console.log(item);
genericOp("string"); // 自动推断为string类型
genericOp(123); // 自动推断为number类型

在API描述中,可直接用“泛型函数”指代这种延迟绑定的函数类型,另一种则称为“泛型类型别名定义的固定函数类型”,完全匹配TypeScript官方术语体系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:12:43