TypeScript 之 Record
在 TS 中,类似数组、字符串、数组、接口这些常见的类型都非常常见,但是如果要定义一个对象的 key 和 value 类型该怎么做呢?这时候就需要用到 TS 的 Record 了。
来自TypeScript 之 Record - 简书 (jianshu.com)
【TypeScript】TypeScript之Record的用法 - 掘金 (juejin.cn)
比如我需要一个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>