- export default {}
-
- // 1.数字枚举
- /*
- 注意点: 1.数字枚举的取值可以是字面量, 也可以是常量, 也可以是计算的结果
- 2.如果采用字面量对第一个成员进行赋值,下面的成员会自动递增
- 3.如果采用常量或计算结果进行赋值,则下面的成员也必须初始化
- */
- // enum Gender {
- // Male,
- // Female
- // }
-
- // console.log(Gender.Male); // 0
- // console.log(Gender.Female); // 1
- // console.log(Gender[0]); // Male
-
- // const val = 100;
- // const num = () => 200;
-
- // enum Gender {
- // // Male = 1,
- // // Female
- // Male = val,
- // Female = num()
- // }
-
- // console.log(Gender.Male); // 100
- // console.log(Gender.Female); // 200
-
-
- // 2.字符串枚举
- /*
- 1.如果采用字面量对第一个成员进行赋值,下面的成员也必须赋值
- 2.采用[index]的形式不能获取到内容,需要传入[key]
- 3.字符串枚举不能使用常量或者计算结果给枚举值赋值
- 4.它可以使用内部的其它枚举值来赋值
- */
- enum Direction {
- up = "UP",
- down = "DOWN"
- }
-
- // console.log(Direction.up); // UP
- // console.log(Direction.down); // DOWN
- // console.log(Direction[0]); // undefined
- // console.log(Direction["up"]); // UP
- // console.log(Direction["DOWN"]); // undefined
-
- // const val = "金晨";
- // const res = () => "王鸥";
-
- // enum User {
- // // a = val
- // // b = res()
- // c = "HTML",
- // d = c
- // }
-
-
- // 3.异构枚举
- // enum Gender {
- // Male = 1,
- // Female = "女"
- // }
-
- // console.log(Gender.Male); // 1
- // console.log(Gender.Female); // 女
- // console.log(Gender[0]); // undefined
- // console.log(Gender["女"]); // undefined
- // console.log(Gender["Male"]); // 1
-
-
- // 4.把枚举成员可以当做类型来使用
- enum Gender {
- Male,
- Female
- }
-
- interface ITestInterface {
- age: Gender // age: (Gender.Male | Gender.Female)
- }
-
- class Person implements ITestInterface {
- age: Gender.Female = 1;
- }