在 TypeScript 中比较枚举值时出现“没有重叠”错误

Tat*_*tha 6 typescript

我正在尝试学习 TypeScript,并且一直在关注 TypeScript 中枚举支持的在线教程示例。对于下面的代码片段:

enum daysoftheweek{
    SUN, MON, TUE, WED, THU, FRI, SAT
}

let day:daysoftheweek ;

day = daysoftheweek.FRI; //line 7

if (day === daysoftheweek.MON){
    console.log("got to go to work early");
}else{
    console.log("I may go late");
}
Run Code Online (Sandbox Code Playgroud)

...我在编译时收到此错误,我不明白为什么:

TS2367:此条件将始终返回“false”,因为类型“daysoftheweek.FRI”和“daysoftheweek.MON”没有重叠。

如果我将第 7 行修改为此,错误就会消失: day = daysoftheweek.MON;

有人可以解释一下为什么编译会抛出该错误吗?
(我在这个“没有重叠”错误上关注了其他线程,但无法理解这个特定代码片段问题的原因)

Wil*_* P. 4

没有应用任何逻辑来影响day变量的值——编译器可以清楚地看到它总是如此daysoftheweek.FRI。该错误告诉您它永远不会等于,daysoftheweek.MON因此 if 语句没有任何作用。