TypeScript: switch enum

Posted Jane&Coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScript: switch enum相关的知识,希望对你有一定的参考价值。

需求:

要根据一个enum的变量值做不同的操作。

问题:

虽然看起来变量值是对的,但是走不到分支中去。

原因:

变量的类型问题。(也有人说是typescript的bug,见参考)。在变量值的传输过程,可能会变为string类型。

解决办法:

变量前加一个+,确保switch检查的是一个number类型。

代码片段:

switch (+this.currentTab) {
        case CheckTabEnum.未处理:
         // todo
          break;
        case CheckTabEnum.待审核:
          // todo
          break;
        case CheckTabEnum.已审核:
          // todo
          break;
        case CheckTabEnum.全部:
         // todo
          break;
      }

 

 

参考:

https://stackoverflow.com/questions/40627277/typescript-type-safety-in-switch-case-statements

以上是关于TypeScript: switch enum的主要内容,如果未能解决你的问题,请参考以下文章

Swift UILabel子类自动调用enum switch函数

Enum的switch用法

Java enum枚举配合switch使用

java枚举类型enum用法

Eclipse:Java Enum 自动完成 switch case

[TypeScript] Collect Related Strings in a String Enum in TypeScript