基本使用

泛型 - 图1

泛型 - 图2

函数的泛型写法

泛型 - 图3

接口的泛型写法

泛型 - 图4

泛型 - 图5

泛型 - 图6

类的泛型写法

泛型 - 图7

泛型 - 图8

JavaScript 的类本质上是一个构造函数,因此也可以把泛型类写成构造函数

泛型 - 图9

注意泛型类描述的是类的实例,不包括静态属性和静态方法,因为这两者定义在类的本身。因此,它们不能引用类型参数

泛型 - 图10

类型别名的泛型写法

泛型 - 图11

类型参数的默认值

泛型 - 图12

数组的泛型表示

在 TypeScript 内部,Array 是一个泛型接口,类型定义基本是下面的样子

泛型 - 图13

泛型 - 图14

泛型 - 图15

类型参数的约束条件

泛型 - 图16

泛型 - 图17

使用注意点

  1. 尽量少用泛型:复杂起来了难读
  2. 类型参数越少越好
  3. 类型参数需要出现两次
  4. 泛型可以嵌套

泛型 - 图18