【笔记】TS的泛型
前言
TS的泛型学习笔记
函数
定义函数时指定泛型类型
1 | function 函数名<泛型类型>() { |
1 | function 函数名<泛型类型 = 默认数据类型>() { |
调用函数时指定泛型类型
1 | 函数名<泛型类型>(); |
泛型自动类型推导
1 | function 函数名<泛型类型>(形参名: 泛型类型) { |
类
定义类时指定泛型类型
1 | class 类名<泛型类型> { |
1 | class 类名<泛型类型 = 默认数据类型> { |
创建对象时指定泛型类型
1 | let 变量名 = new 类名<泛型类型>(); |
泛型自动类型推导
1 | class 类名<泛型类型> { |
接口
定义接口时指定泛型类型
1 | interface 接口名<泛型类型> { |
1 | interface 接口名<泛型类型 = 默认数据类型> { |
使用接口时指定泛型类型
1 | let 变量名: 接口名<泛型类型>; |
泛型约束
约束泛型类型的数据结构
1 | interface 接口名 { |
约束泛型类型为对象所有属性的联合类型
1 | interface 接口名 { |