enum
枚举类型是 TypeScript 中新添加的,而 JavaScript 中是没有这个类型的。用关键字enum来声明。代码示例如下:
enum Color {
Red, //枚举元素列表
Green,
Blue
};
var c: Color = Color.Green;
跟 C# 一样,如果不声明第一项的值,那么上面 Red 的值就是 0,然后每一项都增加一,即 Green 是 1,Blue 是 2。代码如下:
enum Color {
Red = 1,
Green,
Blue
};
var c: Color = Color.Green;
所以此时 Red 的值为 1,Green 为 2,Blue 为 3。
当然也可以为每一项都指定一个值。代码如下:
enum Color {
Red = 1,
Green = 2,
Blue = 4
};
var c: Color = Color.Green;
另外枚举类型还有一个比较特殊的功能,假如我们有一个数值,但是我们不知道枚举类型中是否有定义,可以用以下方式来获取,代码如下:
enum Color {
Red = 1,
Green,
Blue
};
var colorName: string = Color[2]; //访问第二个枚举子元素Green
alert(colorName);
colorName = Color[4];
alert(colorName);
那么将会输出Green和undefined。因为Green的值是 2,而没有一个枚举定义的值是 4,所以返回undefined。
在右面的编辑器中去试一试吧!