TypeScript数据类型之枚举(Enum)

enum Week{
    MON,
    TUE,
    WED,
    THU,
    FRI,
    STA,
    SUN
}

枚举类型的数据的值默认是从0开始,依次增加1的,输出看看:

 

我们也可以直接修改每个变量对应的数值

enum Week{
    MON,
    TUE,
    WED = 4,
    THU,
    FRI = 5,
    STA,
    SUN
}

再看看输出的值

可以知道枚举中每个变量的值是根据前一个变量的数值+1得到的结果。

我们也可以通过Week[index]拿到数值对应的字符

 

 可以看看这是如何实现的:

上面的枚举代码对应的js代码如下

"use strict";
var Week;
(function (Week) {
    Week[Week["MON"] = 0] = "MON";
    Week[Week["TUE"] = 1] = "TUE";
    Week[Week["WED"] = 4] = "WED";
    Week[Week["THU"] = 5] = "THU";
    Week[Week["FRI"] = 5] = "FRI";
    Week[Week["STA"] = 6] = "STA";
    Week[Week["SUN"] = 7] = "SUN";
})(Week || (Week = {}));

1.先定义了一个Week的变量。

2.准备了一个自执行函数将Week作为参数,如果Week没有值则Week的默认值设置为{}

3.Week[Week["MON“] = 0] = "MON":表示先给Week对象添加一个属性"MON",对应的值为0,然后再给Week添加一个属性0,对应的值为"MON",这一步过后Week就长这样了=>{

"MON":0,

"0":"MON"

}

这就是为什么我们可以通过Week.MON拿到MON对应的值,也可以通过MON[0]拿到对应的值"MON",后面的步骤跟3是一样的。

如果现在我们输出Week[5],结果会是THU还是FRI?

正确答案是FRI

我们可以看看最后Week长成什么样子了

 

在进行赋值的时候,先进行的Week[5] = "THU",然后又进行的Week[5] = "FRI",相当于后面一步把前面一步的属性值给覆盖了。

 这就是TS中枚举类型,一般后台返回的关于性别的数据会是这种类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值