TypeScript -- 枚举类型
1,一个角色判断的例子
2,枚举 https://www.tslang.cn/play/index.html
3,例子// 数字枚举enum Role { Reporter, Developer, Maintainer, Owner, Guest}// console.log(Role.Reporter) // 0// 字符串枚举enum Message { Success = '成功', Fail = '失败'}// 异构枚举(容易混淆,不建议使用)enum Answer { N, Y = 'Yes'}// 枚举成员enum Char { // 枚举成员的类型一共分为两类 // 1,常量枚举--const(会在编译的时候计算出结果,然后以常量的形式出现在运行时环境) // 2,需要被计算的枚举成员--computed(会被保留在程序的执行阶段) // 常量枚举包括三种情况 a, // const 没有初始值的情况 b = Char.a,// const 对已有成员的引用 c = 1 + 3, // const 常量的表达式 d = Math.random(), e = '123'.length, f = 4 // 在computed后面的常量枚举,必须有初始值}// 常量枚举(用const声明的就是常量枚举)// 会在编译阶段被移除// 作用:当我们不需要一个对象,而需要一个对象的值的时候,减少在编译环境的代码const enum Month { Jan, Feb, Mar}let month = [Month.Jan, Month.Feb, Month.Mar]//枚举类型enum E { a, b}enum F { a = 0, b = 1 }enum G { a = 'a', b = 'b' }let e: E = 3let f: F = 3// e === f // 两种不同枚举类型是不可以比较的let e1: E.a = 1let e2: E.b// e1 === e2 // 是永远不可以进行比较的let e3: E.a =2// e1 === e3 // 相同的枚举类型是可以比较的//字符串枚举的取值只能是枚举成员的类型let g1: G = G.blet g2: G.a = G.a
发表评论 (审核通过后显示评论):