TypeScript学习笔记-枚举

/**
 * 数字枚举
 */
//声明,自动增长,第一个元素不声明默认值为0
enum Count{
  one=1,
  two,
  three,
  four
}
//调用
function add(num:number,count:Count){return num+count}
add(5,Count.one)
/**
 * 字符串枚举
 */
enum Word{
  one='one',
  two='two',
  three='three'
}
/**
 * 联合枚举 ,枚举中的计算成员和常量成员
 * 枚举为常量的情况
 * 1 枚举的第一个成员且没有初始化器
 * 2 不带有初始化器且前一个枚举是一个数字常量
 * 3 枚举成员使用常量表达器初始化,即包含各种运算符或逻辑表达式
 */
enum  FileAccess{
  //constant
  None,
  Read = 1<<1,
  Write = 2<<2,
  ReadWrite = Read | Write,
  //computed
  G='123'.length
}
/**
 * 反向映射
 */
enum E{
  A
}

let a=E.A
let nameofa=E[a]
/**
 * const 枚举
 * 只能使用常量枚举表达式
 * 不允许包含计算成员,编译阶段会被删除
 */
const enum Enum{
  A=1,
  B=A+1
}

/**
 * 外部枚举
 * 区别于内部枚举
 * 正常枚举中没有初始化方法的成员被当作常数成员
 * 对于非常数的外部枚举,没有初始化枚举方法时被当作需要计算的
 */

 declare enum Enum1{
  A=1,
  B,
  C
 }

 

posted @ 2018-10-10 14:46  CodingSherlock  阅读(365)  评论(0编辑  收藏  举报