/** * 数字枚举 *///声明,自动增长,第一个元素不声明默认值为0enum 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.Alet nameofa=E[a]/** * const 枚举 * 只能使用常量枚举表达式 * 不允许包含计算成员,编译阶段会被删除 */const enum Enum{ A=1, B=A+1}/** * 外部枚举 * 区别于内部枚举 * 正常枚举中没有初始化方法的成员被当作常数成员 * 对于非常数的外部枚举,没有初始化枚举方法时被当作需要计算的 */ declare enum Enum1{ A=1, B, C }