枚举
数字类型枚举
/**
* 枚举
*/
// 数字(number类型)枚举
enum Direction {
Up,
Down,
Left,
Right
}
// 每一个枚举的内部变量都会进行递增,且是一个双向赋值的过程!
console.log(Direction.Up) // 0
console.log(Direction[0]) // 'Up'
console.log(Direction.Down) // 1
console.log(Direction[1]) // 'Down'
console.log(Direction.Left) // 2
console.log(Direction[2]) // 'Left'
console.log(Direction.Right) // 3
console.log(Direction[3]) // 'Right'
enum Direction2 {
Up = 10,
Down, // 11
Left, // 12
Right // 13
}
枚举它是一个双向赋值的过程,转换为JS代码后如下:
var Direction;
(function (Direction) {
Direction[Direction["Up"] = 0] = "Up";
Direction[Direction["Down"] = 1] = "Down";
Direction[Direction["Left"] = 2] = "Left";
Direction[Direction["Right"] = 3] = "Right";
})(Direction || (Direction = {}));
console.log(Direction.Up); // 0
console.log(Direction[0]); // 'Up'
console.log(Direction.Down); // 1
console.log(Direction[1]); // 'Down'
console.log(Direction.Left); // 2
console.log(Direction[2]); // 'Left'
console.log(Direction.Right); // 3
console.log(Direction[3]); // 'Right'
字符串类型枚举
// 字符串类型枚举 与 常量枚举
const enum Direction3 {
Up = 'UP',
Down = 'DOWN',
Left = 'LEFT',
Right = 'RIGHT'
}
const value = 'UP'
if (value === Direction3.Up) {
console.log('go up!')
}

浙公网安备 33010602011771号