typeScript进阶(12)_枚举类型

枚举类型

描述:

枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等。

🤔读完之后大概知道是做什么的,但是有不清楚到底做什么的。
😉我们可以理解enum枚举类型声明之后会返回一个对象,这个对象中我们可以保存经常用的常量,在用的时候我们直接取值即可。

首先我们先定义一个enum类型的数据:
enum colors {
    red,
    green,
    black
}

这样我们就定义好了一个枚举类型的colors对象,或者说是数组也不为过。(存在映射关系)

先看这段话,我们再看下面的例子:

枚举成员会被赋值为从 0 开始递增的数字,同时也会对枚举值到枚举名进行反向映射:

百花讲就是,我们上面定义的red可以通过colors[0]拿到red,可以通过colors.red获得0

经典例子:
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 0); // true
console.log(Days["Mon"] === 1); // true
console.log(Days["Tue"] === 2); // true
console.log(Days["Sat"] === 6); // true
console.log(Days[0] === "Sun"); // true
console.log(Days[1] === "Mon"); // true
console.log(Days[2] === "Tue"); // true
console.log(Days[6] === "Sat"); // true

上面的基础用法,就是声明enum之后产生了一种映射关系,第一项and 0,第二项 and 1…,类似与数组下标,只能说类似,因为我们可以改动下标

升级例子
1.
enum Days {Sun = 7, Mon = 1, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 7); // true
console.log(Days["Mon"] === 1); // true
console.log(Days["Tue"] === 2); // true
console.log(Days["Sat"] === 6); // true

我们给了第一项默认值为7,第二项为1。
我们打印后发现第三项为2,是跟着最后复制的项向上累加的。

2.
enum Days {Sun = 7, Mon = 1.5, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 7); // true
console.log(Days["Mon"] === 1.5); // true
console.log(Days["Tue"] === 2.5); // true
console.log(Days["Sat"] === 6.5); // true

赋值的枚举项也可以为小数或负数,此时后续未手动赋值的项的递增步长仍为 1

六卿

见贤思齐焉,见不贤内自省
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

六卿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值