• 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关键字修饰的枚举,会在编译阶段被删除

  • 相关阅读:
    maven==docker搭建私有maven仓库,编写starter并发布到私有maven仓库,在项目中使用私有仓库中的starter
    TCP数据传输协议详解
    Stable Diffuse 之 本地环境部署 WebUI 进行汉化操作
    28道Webpack面试题及答案
    分享一下微信投票小游戏怎么做
    鼠标点击选取物体错误的问题
    记一次通过REC获取服务器权限以及同服务器的网站权限
    什么是虚拟DOM?什么是diff算法?
    03 循环、字符串、列表、元祖、字典
    Spring 项目快速整合 Hibernate
  • 原文地址:https://blog.csdn.net/xvzhengyang/article/details/126882054