泛型(TypeScript)
泛型的本质是类型参数化,允许组件支持多种类型而非单一类型。
核心概念
- 类型参数:用尖括号
<T>表示 - 类型约束:
extends限制泛型范围
基本用法
// 泛型函数
function identity<T>(arg: T): T {
return arg;
}
// 泛型接口
interface Container<T> {
value: T;
}
// 泛型类
class Box<T> {
contents: T;
}类型约束
interface Lengthwise {
length: number;
}
function log<T extends Lengthwise>(arg: T): void {
console.log(arg.length);
}