检查枚举的类型

时间:2015-11-13 03:31:51

标签: typescript

鉴于

enum myEnum {
    a,b,c
}

var myEnum1: myEnum = myEnum.a;

我应该如何检查myEnum1类型为myEnum

如果我使用

typeof myEnum1

它只是说它是number而不是myEnum

1 个答案:

答案 0 :(得分:0)

  

它只是说它是一个数字而不是myEnum

在运行时它将是数字(在你放松编译时安全性的情况下解决一些问题)。

然而,请查看Enum的代码:

enum MyEnum {
    A
}

你得到:

var MyEnum;
(function (MyEnum) {
    MyEnum[MyEnum["A"] = 0] = "A";
})(MyEnum || (MyEnum = {}));

所以给定MyEnum[num]是真的可以假定它是一个有效的成员。

更多:讨论此类转化here