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