Why does the TypeScript compilier (version 2.7.2) show the error message "error TS2678: Type 'Enum1.b' is not comparable to type 'Enum1.a'" for the following code sequence?
const enum Enum1 {a, b};
let e1: Enum1 = Enum1.a;
for (let i = 0; i < 10; i++) {
const newE1 = (i % 2 == 0) ? Enum1.a : Enum1.b;
setE1(newE1);
switch (e1) {
case Enum1.a:
console.log("a");
break;
case Enum1.b:
console.log("b");
break;
}
}
function setE1 (newE1: Enum1) {
e1 = newE1;
}
When I replace switch(e1) with switch(+e1), the error does not occur.