typescript枚举 enum 和任意类型的any

数字枚举

enum week {
    Sun,//默认为0,后面元素自增
    Mon,//默认为1
    Tue,//默认为2
    Wed,//默认为3
    Thu,//默认为4
    Fri,//默认为4
    Sat//默认为6
}
enum Days {
    Sun = 1,//设置1时,后面元素自增
    Mon,//默认为2
    Tue,//默认为3
    Wed,//默认为4
    Thu,//默认为5
    Fri,//默认为6
    Sat//默认为7
}

字符串枚举(不常用)

enum person{
    a="lid",
    b="kkk",
    c="mmm"
}

异构枚举(很少用)

enum person{
    a=28,
    b="kkk",
    c="mmm"
}

枚举编译后会变成一个双向的键值对对象,会入侵到编译后的代码如:

编译前:

enum week {
    Sun,//默认为0,后面元素自增
    Mon,//默认为1
    Tue,//默认为2
    Wed,//默认为3
    Thu,//默认为4
    Fri,//默认为4
    Sat//默认为6
}

 编译后:

var Days;
(function (Days) {
    Days[Days["Sun"] = 1] = "Sun";
    Days[Days["Mon"] = 2] = "Mon";
    Days[Days["Tue"] = 3] = "Tue";
    Days[Days["Wed"] = 4] = "Wed";
    Days[Days["Thu"] = 5] = "Thu";
    Days[Days["Fri"] = 6] = "Fri";
    Days[Days["Sat"] = 7] = "Sat"; //默认为7
})(Days || (Days = {}));
//可使用所引器获取枚举值
person[0]
//代码当中确定不使用索引器,可使用常量枚举,编译时不会编译为上述所对应的双向的键值对对象的代码,
//代码被移除掉了

const enum person{
    a=28,
    b="kkk",
    c="mmm"
}

任意类型any,接受任意类型的值,尽量避免使用any

//可接受任意类型的值,中间运行时可以改变值的类型
let a:any = 1;
let b:any = function (){

};
let str:any = "kdfoe";
a = "seer"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值