• ts重点学习109-枚举类型的兼容性


    1. export default {}
    2. // 1.数字枚举
    3. /*
    4. 注意点: 1.数字枚举的取值可以是字面量, 也可以是常量, 也可以是计算的结果
    5. 2.如果采用字面量对第一个成员进行赋值,下面的成员会自动递增
    6. 3.如果采用常量或计算结果进行赋值,则下面的成员也必须初始化
    7. */
    8. // enum Gender {
    9. // Male,
    10. // Female
    11. // }
    12. // console.log(Gender.Male); // 0
    13. // console.log(Gender.Female); // 1
    14. // console.log(Gender[0]); // Male
    15. // const val = 100;
    16. // const num = () => 200;
    17. // enum Gender {
    18. // // Male = 1,
    19. // // Female
    20. // Male = val,
    21. // Female = num()
    22. // }
    23. // console.log(Gender.Male); // 100
    24. // console.log(Gender.Female); // 200
    25. // 2.字符串枚举
    26. /*
    27. 1.如果采用字面量对第一个成员进行赋值,下面的成员也必须赋值
    28. 2.采用[index]的形式不能获取到内容,需要传入[key]
    29. 3.字符串枚举不能使用常量或者计算结果给枚举值赋值
    30. 4.它可以使用内部的其它枚举值来赋值
    31. */
    32. enum Direction {
    33. up = "UP",
    34. down = "DOWN"
    35. }
    36. // console.log(Direction.up); // UP
    37. // console.log(Direction.down); // DOWN
    38. // console.log(Direction[0]); // undefined
    39. // console.log(Direction["up"]); // UP
    40. // console.log(Direction["DOWN"]); // undefined
    41. // const val = "金晨";
    42. // const res = () => "王鸥";
    43. // enum User {
    44. // // a = val
    45. // // b = res()
    46. // c = "HTML",
    47. // d = c
    48. // }
    49. // 3.异构枚举
    50. // enum Gender {
    51. // Male = 1,
    52. // Female = "女"
    53. // }
    54. // console.log(Gender.Male); // 1
    55. // console.log(Gender.Female); // 女
    56. // console.log(Gender[0]); // undefined
    57. // console.log(Gender["女"]); // undefined
    58. // console.log(Gender["Male"]); // 1
    59. // 4.把枚举成员可以当做类型来使用
    60. enum Gender {
    61. Male,
    62. Female
    63. }
    64. interface ITestInterface {
    65. age: Gender // age: (Gender.Male | Gender.Female)
    66. }
    67. class Person implements ITestInterface {
    68. age: Gender.Female = 1;
    69. }

  • 相关阅读:
    mycat
    SQL Developer中执行批量SQL语句
    数据库原理及应用实验报告-实验9-用户定义完整性
    为啥外行都觉得程序员的代码不值钱?
    人工神经网络教程第四版,人工神经网络教程视频
    软件测试项目实战(包含电商、银行、app等)
    Android中layout-sw600dp、layout-w600dp和layout-h600dp的区别
    Python基础汇总、
    Python的pytest框架(6)--测试钩子(hooks)
    最简单的pdf加水印方法,五个步骤很详细
  • 原文地址:https://blog.csdn.net/qq_41632427/article/details/127077927