TypeScript 泛型是一种强大的工具,它允许你创建可复用的组件,适用于多种数据类型,而无需在每次使用时指定具体类型。泛型使代码更加灵活和可扩展。以下是对 TypeScript 泛型的详细介绍,包括泛型变量、泛型类型、泛型类、泛型约束及学习技巧。
1. 泛型概述
泛型(Generics)允许定义函数、类或接口时不指定具体类型,而是在使用时再指定具体类型。这种方式使得代码在保持类型安全的同时,具有更高的灵活性。
2. 泛型变量
泛型变量用来捕获传递给函数、类或接口的类型。
function identity<T>(arg: T): T {
return arg;
}
let output1 = identity<string>("Hello");
let output2 = identity<number>(123);
identity<T>(arg: T): T
中的T
就是泛型变量。- 调用时指定具体类型,例如
identity<string>("Hello")
。
3. 泛型类型
泛型类型用于定义包含一个或多个类型参数的类型。
type GenericIdentityFn<T> = (arg: T)