TypeScriptTypeScript高级类型之Record

Posted Ly_cat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScriptTypeScript高级类型之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

以上是关于TypeScriptTypeScript高级类型之Record的主要内容,如果未能解决你的问题,请参考以下文章

TypeScriptTypeScript高级类型之Partial

TypeScriptTypeScript高级类型之Record

TypeScriptTypeScript高级类型之Record

TypeScriptTypeScript数据类型(上篇)

TypeScriptTypeScript培养类型思维

typeScript基础学习