- 枚举
值为数字类型:
enum DayEnum {
day = 1,
week,
month,
year
}
for (const key in DayEnum) console.log(key)
值为非数字类型
//枚举
enum Animal {
first='bear',
second='lion'
}
- 枚举和对象有什么区别
- js里面没有枚举这个类型,所以ts编译为js之后,会发现转为对象类型。
- 枚举类型不可以被修改(只读类型的对象)
- 枚举可以进行反向映射,但是只针对数字类型的值。
//反向映射,看一下翻译成js之后的代码
数字类型
(function(DayEnum){
DayEnum[DayEnum['day']=1]='day';
DayEnum[DayEnum['week']=2]='week';
DayEnum[DayEnum['month']=3]='month';
DayEnum[DayEnum['year']=4]='year';
})({})
//打印一下DayEnum
{
day:1,1:'day'
.....
}
对于非数字类型
(function (Animal) {
Animal["first"] = "bear";
Animal["second"] = "lion";
})(Animal || (Animal = {}));
所以值为非数字类型的不能进行反向映射。
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
部分内容为互联网分享,若有侵权请联系站长删除。
THE END
暂无评论内容