映射类型:
通过映射类型我们可以从一个旧的类型生成一个新的类型(比如说把一个类型中的所有属性变成只读)
我们先定义一个接口:
interface Obj{
a:string,
b:number,
c:boolean
}
1、只读Readonly:
type readOnlyObj=Readonly<Obj>
2、Partial(可选),把接口的所有属性变成可选
type PartiaObj=Partial<Obj>
3、Pick抽取子集
type PickObj=Pick<Obj,'a'|'b'>
4、Record创建新的属性
type RecordObj=Record<'x'|'y',Obj>
映射类型本质上是一种预先定义的泛型接口,通常还会结合索引类型获取对象的属性和属性值,从而将一个对象映射成我们想要的结构