通过映射类型,我们可以通过一个旧的类型生成一个新的类型。
比如说把一个类型中的所有属性变成只读。
interface Obj {a: string,b: string,c: string,}// 将obj接口里面的属性都变成只读属性type ReadonlyObj = Readonly<Obj>// 这样Obj中的属性就都变成只读属性了type PartialObj = Partial<Obj>// 这样Obj中的属性就都变成可选属性了type PickObj = Pick<Obj, 'a' | 'b'>// 将a b抽取出来,形成一个新的类型// 上面的映射都是同态类型// 非同态映射type RecordObj = Record<'x'|'y',Obj>
源码:/node_modules/typescript/lib/lib.es5.d.ts
