Typescript学习: Record

Typescript 中 Record 用法
更新于: 2023-05-16 17:39:15

场景

在 TS 中,类似数组、字符串、数组、接口这些常见的类型都非常常见,但是如果要定义一个对象的 keyvalue 类型该怎么做呢?这时候就需要用到 TSRecord 了。

代码

interface PageInfo {
  title: string;
}

type Page = "home" | "about" | "contact";

const nav: Record<Page, PageInfo> = {
  about: { title: "about" },
  contact: { title: "contact" },
  home: { title: "home" },
};

可枚举

比如我需要一个对象,有 ABC 三个属性,属性的值必须是数字,那么就这么写

type keys = 'A' | 'B' | 'C'
const result: Record<keys, number> = {
  A: 1,
  B: 2,
  C: 3
}

逗比写法

const obj: { [key: string ] : number } = {}

参考