• 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. }

  • 相关阅读:
    docker入门加实战—网络
    java 实现一个最小栈
    数据分析的几个角度
    Kaldi语音识别技术(四) ----- 完成G.fst的生成
    ssh2-sftp-client实现前端项目自动部署
    16.偏差、方差、正则化、学习曲线对模型的影响
    IS215UCVEM08B IS215UCVEH2AE VMIVME-7614-132 350-017614-132 D
    amv是什么文件格式?如何播放amv视频?
    C++基础知识要点--函数(Primer C++ 第五版 · 阅读笔记)
    Redis数据结构之quicklist
  • 原文地址:https://blog.csdn.net/qq_41632427/article/details/127077927