TypeScript 泛型工具类型

在TS中内置了一些常用的工具类型, 用来简化我们TS中的一些常见操作

这些泛型工具类型都是基于泛型实现的, 并且是内置的, 我们也可以直接在代码中使用

Partial(可选)
我们可以使用Partial来构造或者创建一个类型, 将T的所有属性都设置为可选的

我们来验证一下

通过上面的实例, 我们可以发现, indexProps中的id和children就变成可选的了

但是生成的类型别名, 并不影响Props接口, 他只是创建了一个新的类型

Readonly(只读)
Readonly是用来构造一个类型, 将Props中的所有属性全部变成只读的

将上面的代码修改成readonly之后, 我们就不可以修改id的值, 因为他是只读的

Pick
Pick是从T中选择一组属性来构造新类型

Pick相比于前两个工具类型还是有区别的

Pick工具类型有两个类型变量: 第一个表示选择谁的属性, 第二个选择哪几个类型

我们写一下示例

我们传入的属性名只能是第一个类型变量中的属性, 我们比如传入了id和children, 后面构造出来的indexProps就只有id和children属性类型了

Record
Record构造一个对象类型, 属性键为K, 属性类型为T

我们来写一下示例

Record工具类型有两个类型变量, 第一个表示对象有哪些属性, 第二个表示对象属性的类型

我们解读一下上面使用的Record

首先我们创建的obj对象有两个属性, 分别是a和b, 属性值要求是字符串数组string[]

今天, 我们就更新到这里

我们下期见

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/414433.html

(0)
联系我们
联系我们
分享本页
返回顶部