Ts 枚举

作者: 逗婆苍穹 | 来源:发表于2024-04-25 11:16 被阅读0次
    • 数字枚举
    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]); // 不可以访问
    
    • 转换成js
    "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'}
    

    相关文章

      网友评论

        本文标题:Ts 枚举

        本文链接:https://www.haomeiwen.com/subject/jiknxjtx.html