【发布时间】:2021-09-27 21:23:46
【问题描述】:
一个简单的例子:
export enum EnumA {
A = 'a',
}
export enum EnumB {
A = 'b',
}
export class SomeEntity {
id: string;
type: EnumA | EnumB;
}
const foo = (seArray: SomeEntity[]) => {
seArray.forEach((se) => {
Object.values(EnumA).includes(se.type)
})
}
但我得到错误:
TS2345: Argument of type 'EnumA | EnumB' is not assignable to parameter of type 'EnumA'. Type 'EnumB' is not assignable to type 'EnumA'.
看着ts docs,我不确定为什么会发生这种情况,因为 se.type 是它是联合类型的枚举之一的值。我缺少的枚举有什么特别之处吗?
【问题讨论】:
-
这是关于
includes()而不是枚举本身;有关于此的现有 q/a 对;我会在我离开移动设备时链接它们
标签: angular typescript