ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Typescript中的泛型

Typescript中的泛型

可以把泛型想象成 "类型的变量":

1.定义时,用<T>声明一个类型变量(T 是约定的名称,也可以用其他字母)

2.使用时,指定具体类型,如identity<string>("hello")

3.TypeScript 通常能自动推断类型,所以也可以简写为identity("hello")

泛型的应用场景

一、函数泛型:

function getFirstElement<T>(array: T[]): T {return array[0];
}// 使用时可以指定类型,也可以让TS自动推断
const num = getFirstElement<number>([1, 2, 3]); // number类型
const str = getFirstElement(["a", "b", "c"]); // string类型

二、接口泛型:

interface Box<T> {value: T;
}const numberBox: Box<number> = { value: 10 };
const stringBox: Box<string> = { value: "hello" };

三、类泛型:

class Container<T> {private value: T;constructor(value: T) {this.value = value;}getValue(): T {return this.value;}
}const numberContainer = new Container(100);
const stringContainer = new Container("test");

泛型的核心价值

  1. 类型安全:保持类型信息,编译器能提供类型检查
  2. 代码复用:一个组件可以处理多种类型
  3. 可读性:明确代码的意图,让使用者知道类型之间的关系
返回列表