typescript 泛型T
时间: 2024-05-15 09:09:53 浏览: 117
TypeScript中的泛型T是一种用于增强类型安全性和代码重用性的特性。泛型允许我们在定义函数、类或接口时使用一个占位符类型T,这个占位符类型可以在使用时被具体的类型替代。
通过使用泛型T,我们可以编写更加通用和灵活的代码,而不需要针对每种具体类型都编写重复的代码。泛型T可以在函数参数、函数返回值、类成员变量、类方法等多个地方使用。
下面是一个使用泛型T的示例:
```typescript
function identity<T>(arg: T): T {
return arg;
}
let result = identity<string>("Hello");
console.log(result); // 输出:Hello
let numResult = identity<number>(123);
console.log(numResult); // 输出:123
```
在上面的示例中,我们定义了一个名为identity的函数,它接受一个泛型参数T和一个参数arg,并返回一个类型为T的值。通过在函数调用时指定具体的类型,我们可以确保函数返回的值与传入的参数类型相同。
相关问题
typescript 泛型
泛型是 TypeScript 中的一个强大功能,可以帮助你在不指定类型的情况下,创建可重用的组件。
例如,你可以使用泛型创建一个函数,该函数可以接受任何类型的参数,并返回与参数类型相同的值:
```
function identity<T>(arg: T): T {
return arg;
}
```
你还可以使用泛型创建类型安全的数组:
```
class ArrayOfThings<T> {
constructor(public collection: T[]) {}
get(index: number): T {
return this.collection[index];
}
}
const arr = new ArrayOfThings<string>(['a', 'b', 'c']);
```
泛型还可以用于接口,枚举等。它们可以帮助你编写灵活,可重用的代码,并确保在运行时始终保持类型安全。
TypeScript 泛型
TypeScript中的泛型是一种强大的特性,它允许你在定义函数、接口或类时使用一种类型参数,这样可以创建可重用的代码,适应多种类型。泛型的主要目的是提高代码的灵活性和可扩展性。
1. **函数泛型**[^4]:
```typescript
function identity<T>(arg: T): T {
return arg;
}
let result: string = identity<string>("Hello"); // 使用类型参数T为string
```
在这个例子中,`identity`函数接受一个类型参数`T`,并返回与输入相同类型的值。
2. **接口泛型**[^5]:
```typescript
interface Pair<T> {
first: T;
second: T;
}
let pair: Pair<number> = { first: 1, second: 2 };
```
`Pair`接口使用`T`作为键和值的数据类型。
3. **类泛型**[^6]:
```typescript
class ArraySum<T> {
total: T;
constructor(items: T[]) {
this.total = items.reduce((sum, item) => sum + item, 0);
}
}
let sumInstance = new ArraySum<number>([1, 2, 3]); // 创建一个处理数字的实例
```
`ArraySum`类使用泛型来表示可以进行加法操作的数据类型。
阅读全文
相关推荐













