TypeScript 泛型

typescript/generics2026-10-16 11:56:22

TypeScript 泛型用于在可复用类型或函数中保留参数之间的类型关系,并通过约束说明允许的操作。

泛型函数与键约束

泛型保留输入、输出之间的类型关系,而不只是把具体类型替换成 any:

function pick<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
const count = pick({ count: 3 }, "count"); // number

这里 K 只能是 T 的键,返回值类型随选中的键变化。约束说明函数需要哪些能力,避免对任意 T 假设其有 length 等属性。

参考:TypeScript 官方泛型文档。

本页目录