美文网首页
Typescript之数据类型

Typescript之数据类型

作者: iDevOps | 来源:发表于2019-08-16 20:23 被阅读0次

    本文主要通过和Javascript数据类型对比来学习Typescript的数据类型
    在上篇文章中我们介绍过, typescript(简称ts)是一门强类型语言,那在ts中我们怎么指定一个变量的数据类型呢?let 变量名:数据类型, 下面就让我们通过和js数据类型的对比来学习下ts的数据类型吧

    布尔类型
    // js
    let a = true;
    
    // ts
    let b:boolean = false;
    
    console.log(a, b);  true false
    
    数值类型
    // js
    let num1 = 10;
    
    // ts
    let num2:number = 11;
    
    字符串
    // js
    let str1 = 'hello js';
    
    // ts
    let st2:string = 'hello ts';
    
    枚举类型

    js中没有这种数据类型

    // ts
    enum Lang{
        Java,
        Php,
        Node
    }
    console.log(Lang);
    console.log(Lang[0]);
    console.log(Lang.Java);
    console.log(Lang[5]);
    输出
    { '0': 'Java', '1': 'Php', '2': 'Node', Java: 0, Php: 1, Node: 2 }
    Java
    0
    undefined
    
    数组

    ts中的数组不允许出现其他类型, 这点是跟js不一样的

    // ts中定义一个数组
    let nums:number[] = [1, 2, 3, 4, 5]; //数值数组只能放数值
    // 数组中不能出现其他类型,我们试试放一个其他类型
    le nums:number[] = [1, '2', 3, 4, 5]; // 数值数组放到一个字符串
    报错: Type 'string' is not assignable to type 'number'.
    
    元组

    可以理解为数组,只是它可以保存不同类型的对象

    // 定义一个分别为string和number类型的元组
    let arr:[string, number] = ['hello', 11];
    
    void

    void声明的变量时,变量 只能为赋予 undefined和null ,赋予其它会报错

    // ts
    let name:void = null;
    
    任意类型

    当不确定变量数据类型的时候, 可以使用任意类型,变量可以赋值任意类型的值

    // ts
    let str:any = null;
    str = "aaa";
    str = 11;
    console.log(str);
    
    联合类型

    可以给变量声明多个数据类型, 给变量赋值的时候我们可以赋值其中任意类型

    let a:number|string = 11;
    a = "bbb";
    a=false?100:"ccc";
    
    function hello(str:number|string):void{
        
    }
    
    类型推测

    在ts中不写类型就会根据变量的值进行自动推测数据类型

    //ts 
    let a = 1; // 自动推测为数值类型
    let b = 'hello'; // 自动推测为布尔类型
    

    今天先介绍到这里, 后续会继续更新更多关于ts数据类型的知识点, 记得关注点赞哦,多谢啦!!!

    相关文章

      网友评论

          本文标题:Typescript之数据类型

          本文链接:https://www.haomeiwen.com/subject/lnrnjctx.html