在 TypeScript 中,泛型(Generics)提供了一种参数化类型的机制,可以使函数、类、接口等更加灵活和通用。以下是一些常见的 TypeScript 泛型:
- 泛型函数:使用
<T>
或其他自定义类型参数来定义函数中的参数类型或返回值类型。
function identity<T>(arg: T): T {
return arg;
}
- 泛型类:在类声明时使用
<T>
或其他自定义类型参数,在类内部可以将其作为成员变量的类型。
class Box<T> {
private value: T;
constructor(value: T) {
this.value = value;
}
getValue(): T {
return this.value;
}
}
- 泛型接口:在接口声明时使用
<T>
或其他自定义类型参数,用于指定方法中的参数类型或返回值类型。
interface Container<T> {
value: T;
}
let box: Container<number> = { value: 42 };
- 泛型约束:通过添加额外的约束条件限制泛型参数的类型范围。
interface Lengthwise {
length: number;
}
function logLength<T extends Lengthwise>(arg: T): void {
console.log(arg.length);
}
这只是 TypeScript 中泛型的一小部分示例,还有其他更复杂和高级的用法。通过使用泛型,可以编写更通用、灵活和可复用的代码。
内容由零声教学AI助手提供,问题来源于学员提问