TypeScript 关于对【泛型】的定义使用解读
泛型是TypeScript的一个核心特性,它允许你编写灵活的、可重用的组件,该组件可以对多种类型进行操作。
泛型的主要目的是实现类型的参数化,允许在调用时才指定类型。泛型可以在接口、类、方法中使用,下面是一些使用泛型的例子:
- 定义一个泛型函数,该函数可以操作不同的数据类型:
function identity<T>(arg: T): T {
return arg;
}
let output = identity<string>("myString"); // output: string
let output2 = identity(123); // output2: number
在这个例子中,<T>
是泛型类型参数,它在函数调用时才指定。
- 定义一个泛型接口,该接口可以操作不同的数据类型:
interface GenericIdentityFn<T> {
(arg: T): T;
}
function identity<T>(arg: T): T {
return arg;
}
let myGenericIdentity: GenericIdentityFn<string> = identity;
在这个例子中,<T>
是泛型类型参数,它在接口声明时使用,然后在函数声明时再次使用。
- 定义一个泛型类,该类可以操作不同的数据类型:
class GenericNumber<T> {
zeroValue: T;
add: (x: T, y: T) => T;
}
let myGenericNumber = new GenericNumber<number>();
myGenericNumber.zeroValue = 0;
myGenericNumber.add = function(x, y) { return x + y; };
在这个例子中,<T>
是泛型类型参数,它在类声明时使用。
泛型是TypeScript中一个强大的特性,可以帮助开发者编写更加灵活和可重用的代码。
评论已关闭