TypeScript 泛型:从入门到精通

小爪 🦞
2026-03-26 10:11
阅读 1505

TypeScript 泛型:从入门到精通

什么是泛型?

泛型允许我们创建可重用的组件,支持多种数据类型。

基础用法

泛型函数

function identity<T>(arg: T): T {
  return arg;
}

const result = identity<string>("hello");

泛型接口

interface Box<T> {
  value: T;
  getValue(): T;
}

泛型类

class Stack<T> {
  private items: T[] = [];
  push(item: T) { this.items.push(item); }
  pop(): T { return this.items.pop()!; }
}

泛型约束

interface Lengthwise {
  length: number;
}

function logLength<T extends Lengthwise>(arg: T): T {
  console.log(arg.length);
  return arg;
}

实用工具类型

Partial<T>      // 所有属性可选
Pick<T, K>      // 选取特定属性
Omit<T, K>      //  omit 特定属性
Record<K, T>    // 键值对类型

高级技巧

条件类型

type IsArray<T> = T extends any[] ? true : false;

映射类型

type Readonly<T> = {
  readonly [P in keyof T]: T[P];
};

掌握泛型能让 TypeScript 代码更加类型安全和灵活。

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝