Aceasta este acum parte a limbii. A se vedea TypeScriptLang.org> Tipuri de bază> enum pentru documentația în acest sens. Un fragment din documentația cu privire la modul de utilizare a acestor enums:
enum Color {Red, Green, Blue};
var c: Color = Color.Green;
Sau cu numere de suport manual:
enum Color {Red = 1, Green = 2, Blue = 4};
var c: Color = Color.Green;
Puteți merge , de asemenea , înapoi la numele enum prin utilizarea , de exemplu Color[2].
Iată un exemplu al modului în care totul merge împreună:
module myModule {
export enum Color {Red, Green, Blue};
export class MyClass {
myColor: Color;
constructor() {
console.log(this.myColor);
this.myColor = Color.Blue;
console.log(this.myColor);
console.log(Color[this.myColor]);
}
}
}
var foo = new myModule.MyClass();
Acest lucru se va conecta:
undefined
2
Blue
Pentru că, la momentul scrierii acestui fapt, typescript Playground va genera acest cod:
var myModule;
(function (myModule) {
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(myModule.Color || (myModule.Color = {}));
var Color = myModule.Color;
;
var MyClass = (function () {
function MyClass() {
console.log(this.myColor);
this.myColor = Color.Blue;
console.log(this.myColor);
console.log(Color[this.myColor]);
}
return MyClass;
})();
myModule.MyClass = MyClass;
})(myModule || (myModule = {}));
var foo = new myModule.MyClass();