TypeScript 互动版

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);

  那么将会输出Greenundefined。因为Green的值是 2,而没有一个枚举定义的值是 4,所以返回undefined

在右面的编辑器中去试一试吧!