泛型(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);
}

关联