【TypeScript】TypeScript高级类型之Record

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

猜你喜欢

转载自blog.csdn.net/weixin_43853746/article/details/121893547