【发布时间】:2018-02-22 04:00:28
【问题描述】:
为什么 TypeScript 编译器(版本 2.7.2)显示错误消息“error TS2678: Type 'Enum1.b' is not compatible to type 'Enum1.a'”顺序?
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;
}
当我将switch(e1) 替换为switch(+e1) 时,不会出现错误。
【问题讨论】:
标签: typescript enums switch-statement