【TypeScript】TypeScript之Record的用法

4,069 阅读1分钟

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>

学习文档:www.typescriptlang.org/docs/handbo…