Record<Keys,Type>
构造一个对象类型,其属性key是Keys,属性value是Type。被用于映射一个类型的属性到另一个类型。
简单来说,TypeScript中的Record可以实现定义一个对象的 key 和 value 类型,Record 后面的泛型就是对象键和值的类型。
实例
比如我需要一个cats对象,这个对象里有三个不同的属性,且属性的值必须是数字和字符串
那么可以这样写:
interface CatInfo {
age: number;
breed: string;
}
type CatName = "mincat" | "licat" | "mordred";
const cats: Record<CatName, CatInfo> = {
mincat: { age: 10, breed: "小猫er" },
licat: { age: 5, breed: "李猫er" },
mordred: { age: 16, breed: "无名猫er" },
};
cats.licat;
const cats: Record<CatName, CatInfo>
学习文档:https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeystype