Typescripe

TypeScript 之 Record

2021-01-23  本文已影响0人  VioletJack

正文

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

上代码:

interface PageInfo {
  title: string;
}

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

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

很好理解,Record 后面的泛型就是对象键和值的类型。

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

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

好吧,其实很简单。但是之前我真的不知道这个属性,都是这么写的[捂脸]。

const obj: any = {}

参考资料

上一篇 下一篇

猜你喜欢

热点阅读