正文
在 TS 中被环,類似數(shù)組糙及、字符串、數(shù)組筛欢、接口這些常見的類型都非常常見浸锨,但是如果要定義一個(gè)對(duì)象的 key 和 value 類型該怎么做呢?這時(shí)候就需要用到 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 后面的泛型就是對(duì)象鍵和值的類型。
比如我需要一個(gè)對(duì)象漠酿,有 ABC 三個(gè)屬性,屬性的值必須是數(shù)字谎亩,那么就這么寫:
type keys = 'A' | 'B' | 'C'
const result: Record<keys, number> = {
A: 1,
B: 2,
C: 3
}
好吧炒嘲,其實(shí)很簡(jiǎn)單。但是之前我真的不知道這個(gè)屬性匈庭,都是這么寫的[捂臉]夫凸。
const obj: any = {}