美文网首页
ts学习(4)

ts学习(4)

作者: 哆啦C梦的百宝箱 | 来源:发表于2023-02-23 21:25 被阅读0次
    1. 枚举
    值为数字类型:
    enum DayEnum {
        day = 1,
        week,
        month,
        year
    }
    for (const key in DayEnum) console.log(key)
    
    值为非数字类型
    //枚举
    
    enum Animal {
        first='bear',
        second='lion'
    }
    
    1. 枚举和对象有什么区别
    • 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 = {}));
    
    所以值为非数字类型的不能进行反向映射。
    

    相关文章

      网友评论

          本文标题:ts学习(4)

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