定义
Record 是一个内置的高级类型,作用是根据传入的key和value的类型生成索引类型
type Record<K extends string | number | symbol, T> = { [P in K]: T;};
用法
定义普通对象类型
type obj = Record<string, any>;let a: obj = { x: 1, y: 2 };
配合联合类型
type keys= 'x'|'y'|'z' type obj=Record<keys,number> let a:obj={ x:1, y:2, z:3 }
可用于多个属性类型相同的情况,可以方便快捷的写出这个对象的类型定义
搭配接口
type keys = "x" | "y";interface values { name: string; age: number;}type obj = Record<keys, values>;let a: obj = { x: { name: "wang", age: 10 }, y: { name: "li", age: 15 } };