• TypeScript基础类型(day2)


     

    1.基础类型:

            1.1 Boolean布尔类型

            1.2 Number类型

            1.3 String类型

            1.4 Enum枚举类型

            1.5 Array数组类型

            1.6 元组类型tuple

            1.7 null和undefined

            1.8 void类型

            1.9 any类型

            1.10 never类型

            1.11 Unknown类型

    具体来看,如何定义,和js稍有不同

    布尔类型

    const isEnough:boolean = false

    Number类型

    const currentPage:number = 1;

    Stirng类型

    const text:string = 'lili'

    Enum枚举类型(枚举类型用来定义数值集合,使用枚举我们可以定义一些带名字的常量)

            普通枚举(如果没有给初始值,那么默认为0,且自增;设置初始值之后,后面的值在此基础上自增)

    1. enum Age {
    2. ZHANGSAN,
    3. LISI,
    4. WANGER
    5. }
    6. const ming:Age = Age.LISI

                         ming的值为1;

    1. enum Age {
    2. ZHANGSAN = 2,
    3. LISI,
    4. WANGER
    5. }
    6. const wang:Age = Age.ZHANGSAN;

                      wang的值为4

    在来看"字符串枚举"

    1. enum Company {
    2. CORPORATION = '公司名称',
    3. TEL = '电话号码',
    4. MANAGER = '经理'
    5. }
    6. const linkTel : Company = Company.TEL

                     linkTel的值为"电话号码"

    特殊的常量枚举,用const修饰符(常量枚举与普通枚举的区别是,整个枚举会在编译阶段被删除)

            

    1. enum AgeNoConst {
    2. ZHANGSAN,
    3. LISI,
    4. WANGER
    5. }
    6. const shanshan:AgeNoConst = AgeNoConst.WANGER
    7. console.log(shanshan)
    8. const enum Age {
    9. ZHANGSAN,
    10. LISI,
    11. WANGER
    12. }
    13. const ming:Age = Age.WANGER
    14. console.log(ming)

    两个结果是一样的都是2,但是编译后的js文件内容却不相同

    1. var s = "我开始学习ts啦";
    2. console.log(s);
    3. var AgeNoConst;
    4. (function(AgeNoConst) {
    5. AgeNoConst[AgeNoConst["ZHANGSAN"] = 0] = "ZHANGSAN";
    6. AgeNoConst[AgeNoConst["LISI"] = 1] = "LISI";
    7. AgeNoConst[AgeNoConst["WANGER"] = 2] = "WANGER";
    8. })(AgeNoConst || (AgeNoConst = {}));
    9. var shanshan = AgeNoConst.WANGER;
    10. console.log(shanshan);
    11. var ming = 2 /* Age.WANGER */ ;
    12. console.log(ming);
    13. 可以看到被const关键字修饰的枚举,会在编译阶段被删除

  • 相关阅读:
    Golang 开源库分享:anko - 给 Go 加点“脚本魔法”
    Aptos 生态项目秀第一期路演精彩回顾
    五分钟“手撕”栈
    【测试】robotframework安装
    excel中超级表和普通表的相互转换
    分享30个PHP源码,总有一款适合你
    Redis Cluster 为什么不支持传统的事务模型
    简析电能管理系统在某煤矿的应用
    Day10--渲染tarBar上的数字徽标
    Mac VsCode g++编译报错:不支持C++11语法解决
  • 原文地址:https://blog.csdn.net/xvzhengyang/article/details/126882054