【发布时间】:2020-06-07 10:17:46
【问题描述】:
有一个type 定义如下:type ComponentType = 'CPU' | 'Motherboard' | 'Memory' | 'PSU'。
我想创建一个对象,我可以使用它来映射 ComponentType 以显示字符串,例如类似:
const componentTypeToLabel/*: to do*/ = {
CPU: 'Computer processing unit',
Motherboard: 'Motherboard',
Memory: 'Memory',
PSU: 'Power supply unit',
};
然而,另外考虑的是,这个componentTypeToLabel 不会包含ComponentType 的所有可能值,只有一些。
componentTypeToLabel 的类型定义是什么样的?如何定义该类型?如果ComponentType 是enum,我知道该怎么做(相信它会是const componentTypeToLabel: { [key in ComponentType]? : string } = ...),但当ComponentType 是字符串联合type 时不会。
【问题讨论】:
标签: javascript typescript dictionary types union