Typescript 知识笔记

64 阅读1分钟

Record<keys,type>

Constructs an object type whose property keys are Keys and whose property values are Type. This utility can be used to map the properties of a type to another type.(官方描述)

简单理解为,构造一个对象类型,它的键值对是<keys,type>,将一个属性类型映射到另一个类型。

举例: 使用一组联合类型或枚举类型去定义一个类型

// 联合类型定义
type words = 'women' | 'man' | 'children'
const wordRecord: Record<words,number> = {
    women: 11,
    man: 10,
    children: 5
}

// 枚举类型定义
enum EWords = {
    Women: 'women',
    Man: 'man',
    Children: 'children'
}

type WordRecord = Record<EWords,number>

const example: WordRecord ={
    [EWords.Women]: 10,
    [EWords.Man]: 8,
    [EWords.Children]: 6
}