TypeScript中泛型的解释


泛型(Generics)

💡 核心概念
泛型就是 “给类型加参数”,让函数或类在不同类型下都能安全复用。

🧩 类比:通用容器
想象一个 快递盒子,你可以放书、衣服或电子产品,盒子本身不管内容是什么,但能保证拿出来的时候和放进去的是同一类东西。


🔧 基本示例

function getItem<T>(item: T): T {
  return item;
}

let a = getItem<string>("Hello"); // a 的类型是 string
let b = getItem<number>(123);     // b 的类型是 number

这里的 <T> 就像是盒子的标签,告诉 TS “我装的是什么”。


⚙ 泛型在数组

function printArray<T>(arr: T[]) {
  arr.forEach(item => console.log(item));
}

printArray<string>(["A", "B", "C"]);
printArray<number>([1, 2, 3]);

🏗 泛型在类

class Box<T> {
  content: T;
  constructor(value: T) {
    this.content = value;
  }
}

const numberBox = new Box<number>(100);
const stringBox = new Box<string>("Logan");

🌟 泛型的优势

  1. 类型安全:不会乱传类型。
  2. 可复用性高:一套代码适配多种类型。
  3. 智能提示:编辑器自动推断类型,减少手写类型的麻烦。

3️⃣ 总结

特性 枚举(enum) 泛型(generics)
用途 定义一组固定的值 让函数或类支持多种类型
类比 菜单编号 通用快递盒子
好处 代码更清晰、避免魔法数字 复用、安全、类型推断
难度 简单 稍微进阶

TypeScript中枚举的概念

情绪输出和内容输出的区别

评 论
请登录后再评论