enums - typescript 枚举开关不起作用

标签 enums switch-statement typescript

我有以下枚举

enum EditMode {
    View = 0,
    Edit = 1,
    Delete = 2
}

假设我有一个枚举类型的变量

var editMode = EditMode.Edit;

为什么下面的代码不起作用(直接进入默认)?

switch (editMode) {
    case EditMode.Delete:
        ...
        break;
    case EditMode.Edit:
        ...
        break;
    default:
        ...
        break;
    }

最佳答案

我也遇到过这个问题。绕过它的简单方法:在开关中的变量之前添加一个 + 符号,即

switch (+editMode) {
    case EditMode.Delete:
        ...
        break;
    case EditMode.Edit:
        ...
        break;
    default:
        ...
        break;
    }

关于enums - typescript 枚举开关不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747437/

相关文章:

typescript 和 Breeze 模块不能被非模块类型别名

swift - 枚举符合具有存储属性的协议(protocol)

c++ - 从匿名结构访问枚举条目

java - 带有 switch 语句的主菜单

javascript - 爱彼迎 JavaScript 指南中的开关示例用法是否不一致?

javascript - 在 ReactJs 中创建动态 svg 图标组件

c# - 为什么 System.Drawing.Color 不是枚举

c++ - 为什么预处理器用 Borland C++ 识别枚举值而不用 Visual C++?

java - 将大型交换机转换为哈希(或其他推荐)

angularjs - 在 TypeScript 中扩展 AngularJS $resource 工厂