给定以下枚举:
enum MyFirstEnum {
A = 'A',
B = 'B',
C = 'C'
}
enum MySecondEnum {
C = 'C',
D = 'D',
E = 'E'
}
正确的合并方法是什么?注意它们在关键字C = 'C'
中包含重叠,因此仅仅MyFirstEnum | MySecondEnum
可能会引起一些麻烦,例如:
type BothEnums = MyFirstEnum | MySecondEnum
const myRecord: Partial<Record<BothEnums, string>> = {}
const someKey = MyFirstEnum.C
myRecord[someKey] = 'some value' // ❌ Property '[MyFirstEnum.C]' does not exist on type 'Partial<Record<BothEnums, string>>'
如果我对这个问题How to merge two enums in TypeScript的理解正确的话,Typescript不能很好地处理具有重复键和值的不同枚举。
但是,如果真的需要合并具有这种重叠的枚举,如何在没有(或更少)更多问题的情况下完成呢?
1条答案
按热度按时间wh6knrhe1#
这样行吗?
相当于:
需要使用keyof进行调用:
但我个人更倾向于这个选择: