【发布时间】:2015-03-01 02:18:57
【问题描述】:
我有以下枚举
enum EditMode {
View = 0,
Edit = 1,
Delete = 2
}
假设我有一个枚举类型的变量
var editMode = EditMode.Edit;
为什么下面的代码不起作用(直接进入默认)?
switch (editMode) {
case EditMode.Delete:
...
break;
case EditMode.Edit:
...
break;
default:
...
break;
}
【问题讨论】:
-
此代码在 TypeScript Playground 中工作。您确定您的脚本加载顺序正确吗?
-
我还可以确认它可以在 Playground 中使用。
-
是的,看来问题不在于代码本身。出于某种原因,我的代码分配的不是枚举后面的数字,而是与数字关联的字符串,例如而不是 1(编辑)“1”。为什么我不明白。
-
用 if/else 替换它,它应该可以工作。 TypeScript 中有很多打字问题/功能。例如。那个 - github.com/Microsoft/TypeScript/issues/8618
-
实际上这段代码在 Typescript 操场上不起作用...editmode DELETE 无法与editmode EDIT 相提并论
标签: enums switch-statement typescript