泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。它可以增加代码通用性。
泛型优点:
- 函数和类可以支持多种类型,更加通用
- 不必编写多条重载,冗长联合类型,可读性好 灵活控制类型约束
- 不仅通用且能灵活控制,泛型被广泛用于通用库的编写。
使用泛型
// 使用泛型interface Result<DataType> {ok: 0 | 1;data: DataType;}const data: Result<string> = {ok: 0,data: "hello world"};
泛型方法
// 使用泛型interface Result<DataType> {ok: 0 | 1;data: DataType;}// 泛型方法function getResult<T>(data: T): Result<T> {return { ok: 1, data };}// 用尖括号方式指定T为stringgetResult<string>("hello");// 用类型推断指定T为numbergetResult(1);
