泛型工具类型

77 阅读1分钟

ts 内置了一些常用的工具类型 来简化Ts中的常见操作 说明:同事们都是基于泛型实现的 (泛型用于多种类型,更加通用) 并且是内置的 可以是在代码使用

工具类型主要以下

1 partial 用来构造创建一个类型,将Type的所有属性设置为可选

解释 构造出来的新类型Parialprops结构 和props相同 但所有属性变为可选的


image.png

image.png

2 readonly

   用来构造一个类型 将Type的所有属性都设置为readonly(只读)

 解释:构造出来的新型类中ReadonlyPros结构和Props
相同 但所有属性变为只读

/当我们想重新给id属性赋值时,就会报错:无法分配到"id" 因为他是只读属性
 

image.png

image.png

3 Pick<Type,Keys>

Type中选择一组属性来构造新类型

解释 1 pick 工具类型有两个类型变量 : 1表示选择谁的属性 2表示选择那几个属性

2 其中第二个类型变量 如果只选择一个择传入该属性名即可

3 第二个类型变量传入的属性只能是第一个类型中存在的属性

4 构造出来的新类型PickProps 只有id title 和两个属性类型

image.png

image.png

4Record<Keys,Type> 构造一个对象类型,属性键为keys 属性类型为Type

解释

1 Record 工具类型有两个类型变量 1 表示对象有哪些属性 2表示对象属性的类型

2 构造的新对象类型RecordObj表示:这个对象有三个属性分别俄日a/b/c,属性值的类型都为strIing[]

image.png

image.png