写出TypeScript中泛型的示例代码
时间: 2024-09-14 17:11:08 浏览: 75
TypeScript的泛型是一种强大的特性,它允许你在定义函数、接口或类的时候不具体指定它们将要处理的数据类型,而是在使用的时候再指定类型。这样做可以让你编写出灵活且可重用的代码,同时保持类型安全。以下是一个简单的泛型函数示例:
```typescript
// 定义一个泛型函数,它接受两个参数,并返回它们的组合
function identity<T>(arg: T): T {
return arg;
}
// 使用泛型函数,指定了具体的类型为number
let output1 = identity<number>(1);
// 使用泛型函数,没有指定类型,TypeScript将自动推断类型为string
let output2 = identity("myString");
```
此外,泛型也可以用于接口和类中:
```typescript
// 泛型接口示例
interface GenericIdentityFn<T> {
(arg: T): T;
}
// 实现泛型接口
function identityGen<T>(arg: T): T {
return arg;
}
let myIdentity: GenericIdentityFn<number> = identityGen;
let result = myIdentity(68);
// 泛型类示例
class GenericNumber<T> {
zeroValue: T;
add: (x: T, y: T) => T;
}
let genericNumber = new GenericNumber<number>();
genericNumber.zeroValue = 0;
genericNumber.add = function(x, y) { return x + y; };
let myGenericNumber = new GenericNumber<number>();
myGenericNumber.zeroValue = 0;
myGenericNumber.add = function(x, y) { return x + y; };
```
通过这些示例,你可以看到泛型如何在不同的上下文中使用,以及如何通过泛型提高代码的通用性和类型安全性。
阅读全文