泛型(Generics)是 TypeScript 中的一种高级特性,允许你在定义函数、接口或类时,指定一个或多个类型参数。
这些类型参数在使用时会被具体的类型替换,从而使代码更具通用性和复用性。
-
示例: 假设你有一个函数,用于从数组中获取一个元素,但你希望这个函数能够处理不同类型的数据。可以使用泛型来实现:
typescriptfunction getElement<T>(array: T[], index: number): T { return array[index]; } const numbers = [1, 2, 3, 4, 5]; const number = getElement(numbers, 2); // number 的类型是 number const strings = ['a', 'b', 'c', 'd', 'e']; const string = getElement(strings, 1); // string 的类型是 string
-
解释:
- 在函数定义中,
<T>
表示一个类型参数,T
可以被任何类型替换。 - 当调用
getElement
函数时,TypeScript 会根据传入的数组类型自动推断T
的具体类型。 - 使用泛型后,
getElement
函数可以处理不同类型的数据,同时保持类型安全。
- 在函数定义中,