enum T1 {
a, // 默认不写等于0,后边的每一项自增1, 依次是 1 2 3
b,
c,
d,
}
// 数字枚举可以双向映射
console.log(T1.a); // 0
console.log(T1["a"]); // 0
console.log(T1[0]); // 'a'
enum T1 {
a, // a = 0
b = 2,
c, // c = 3
d, // d = 4
}
enum T2 {
a = "a",
b = "b",
c = "c",
d = "d",
}
console.log(T2.a); // 'a'
console.log(T2["a"]); 'a'
console.log(T2[0]); // 不可以访问
"use strict";
var T1;
(function (T1) {
T1[T1["a"] = 0] = "a";
T1[T1["b"] = 1] = "b";
T1[T1["c"] = 2] = "c";
T1[T1["d"] = 3] = "d";
})(T1 || (T1 = {}));
// console.log(T1['a']=0) 输出 0 ,赋值操作会返回这个值
// 所以 T1 实际的样子 T1 = {0: 'a', 1: 'b', 2: 'c', 3: 'd', a: 0, b: 1, c: 2, d: 3}
var T2;
(function (T2) {
T2["a"] = "a";
T2["b"] = "b";
T2["c"] = "c";
T2["d"] = "d";
})(T2 || (T2 = {}));
// T2 = {a: 'a', b: 'b', c: 'c', d: 'd'}
网友评论