TypeScript——枚举类型

一、枚举类型

参数
数字枚举enum A1 { a, b}
字符串枚举enum A2 {a=“str”, b=“stri”}
异构枚举
枚举成员enum A4 {a, b}

1、数字枚举

//数字枚举
enum Role {
    Re1,
    Re2,
    Re3,
}
//默认初始值是0 如果第一个Re1是1 就默认开始递增
  • 反向映射原理

    //默认初始值是0 如果第一个Re1是1 就默认开始递增
    //反向映射原理
    var Role;
    (function (Role) {
        Role[Role["Re1"] = 0] = "Re1";
        Role[Role["Re2"] = 1] = "Re2";
        Role[Role["Re3"] = 2] = "Re3";
    })(Role || (Role = {}));
    

2、字符串枚举

//字符串枚举
enum Message {
    Success = "成功了",
    fail = "失败了",
}
//字符串枚举不可以做为反向映射的
  • 编译成JavaScript

    //字符串枚举
    var Message;
    (function (Message) {
        Message["Success"] = "\u6210\u529F\u4E86";
        Message["fail"] = "\u5931\u8D25\u4E86";
    })(Message || (Message = {}));
    

3、异构枚举

//异构枚举
enum Answer {
    N,
    Y = "yes"
}
//同时有数字和字符串 就可以构成反向映射
  • 编译成JavaScript

  • 反向映射原理

    //异构枚举
    var Answer;
    (function (Answer) {
        Answer[Answer["N"] = 0] = "N";
        Answer["Y"] = "yes";
    })(Answer || (Answer = {}));
    

4、枚举成员

  • 枚举成员是只读类型 不可以被修改

  • //枚举成员
    enum Char {
        //const
        a1,
        b2 = Char.a1,
        C3 = 1 + 3,
        D,  //不需要赋初始值
        //compute
        d4 = Math.random(),
        e5 = "str".length,
        f = 1,  //需要赋初始值
    }
    //注意在compute后面需要定义的变量需要给它赋值一个初始值
    
  • 编译后 计算类型的 留到执行后

  • var Char;
    (function (Char) {
        //const
        Char[Char["a1"] = 0] = "a1";
        Char[Char["b2"] = 0] = "b2";
        Char[Char["C3"] = 4] = "C3";
        //compute
        Char[Char["d4"] = Math.random()] = "d4";
        Char[Char["e5"] = "str".length] = "e5";
    })(Char || (Char = {}));
    

5、枚举类型

enum E {
    a,
    b,
}

enum F {
    a = 0,
    b = 1,
}

enum G {
    a = "str",
    b = "str1",
}
let e: E = 3
let f: F = 3
//不同的枚举类型 不能进行比较
//e === f 报错

let e1: E.a
let e2: E.b
//e1 === e2 不可以进行比较
let e3: E.a
//e1 === e3 可以进行比较

//只能字符的枚举 只能是自身的枚举成员
let g1: G = G.b
let g2: G.a = G.a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: TypeScript的枚是一种数据类型,用于定义一组命名的常量。枚可以帮助开发人员更好地组织代码,并提高代码的可读性和可维护性。枚可以包含数字、字符串或混合类型的值,并且可以具有自定义的值。在TypeScript中,枚可以通过名称或值进行访问。枚还可以用于类型注释和类型推断。 ### 回答2: Typescript的枚是一种为具体值赋予有意义的名称的数据类型。枚可以理解为定义了一组定义的常量集合,可以使用这些常量来表示某个特定的状态或值。 在Typescript中,我们使用`enum`关键字来创建一个枚类型。例如,我们可以创建一个表示颜色的枚类型: ``` enum Color { Red, Green, Blue } ``` 在这个例子中,我们定义了一个名为Color的枚类型,包含了三个常量值Red、Green和Blue。默认情况下,这些常量的值将依次递增,从0开始。可以通过指定值来改变默认的递增行为: ``` enum Color { Red = 1, Green = 2, Blue = 4 } ``` 在这个例子中,我们将Red的值设置为1,Green的值设置为2,Blue的值设置为4。 枚类型可以用于表示一系列的选项,通过使用枚名和常量名称来访问具体的值。例如,我们可以使用Color.Red来表示红色。 枚类型还可以使用枚的值来进行比较和判断,这样可以避免使用魔法数值。此外,枚类型还提供了一些便利的方法,例如`Object.keys(Color)`可以用于获取枚中所有常量的名称。 总之,Typescript的枚是一种方便的数据类型,能够为常量赋予可读性高的名称,提高代码的可维护性和可读性。 ### 回答3: TypeScript的枚是一种用于定义一组具有命名值的数据类型。它可以提供更好的代码可读性和可维护性。 枚使用关键字"enum"来定义,并且可以包含一个或多个枚成员。每个枚成员都有一个名称和与之关联的值。这些值可以是数字、字符串或布尔值。 枚的优势之一是可以使用值或名称来访问枚成员。例如,如果有一个颜色的枚,可以通过值来访问相应的名称,或者通过名称来访问相应的值。 枚成员也可以指定一个初始值。如果没有指定初始值,那么枚成员的值将会自动递增。 枚还支持反向映射。这意味着可以通过枚成员的值来获取相应的名称,或通过名称来获取相应的值。 枚还可以使用具有枚成员值的表达式进行计算。这在一些复杂的场景中非常有用。 另一个有用的功能是可以将枚用作类型。这样,变量只能取枚成员的值,而不能取其他任何值。 总结而言,TypeScript的枚是一种有助于提高代码可读性和可维护性的数据类型。它提供了更好的代码组织和更明确的值表示方式,并且支持访问和计算枚成员的各种功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

給生活比个耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值