使用 Object.freeze() 進行列舉定義

Version >= 5.1

JavaScript 不直接支援列舉器,但可以模仿列舉的功能。

// Prevent the enum from being changed
const TestEnum = Object.freeze({
    One:1,
    Two:2,
    Three:3
});
// Define a variable with a value from the enum
var x = TestEnum.Two;
// Prints a value according to the variable's enum value
switch(x) {
    case TestEnum.One:
        console.log("111");
        break;

    case TestEnum.Two:
        console.log("222");
}

上面的列舉定義,也可以寫成如下:

var TestEnum = { One: 1, Two: 2, Three: 3 }
Object.freeze(TestEnum);

之後,你可以像以前一樣定義變數並進行列印。