美文网首页
TS 数据类型及使用

TS 数据类型及使用

作者: 命题_1f6e | 来源:发表于2020-02-06 12:19 被阅读0次

    数据类型

    布尔类型 (boolean)
    数字类型  (number)
    字符串类型 (string)
    数组类型  (array)
    元组类型  (tuple) // 属于数组的一种,可以声明一个数组里面既可以有数组,也可以是字符串或别的数据类型
    枚举类型  (enum)
    任意类型   (any)
    null 和 undefined
    void类型    //ts中void表示没有任何类型,一般用于定义方法的时候方法没有返回值
    never类型  // 是其他类型(包括 null 和undefined )的子类型,代表从来不会出现的值,这意味着never的变量只能被never类型赋值,比如 var a : undefined  ; a就只能被赋值undefined
    

    定义数据类型

    var num:number = 5
    
    // 一个变量有可能是number类型,可能是null, 可能是undefined
    var str : number |  null |  undefined
    str  =  null   //不会报错
    

    定义数组

      //第一种 
      var arr:number[] = [11,22,33]   // 这样声明表示数组里面的每个值都必须是数字类型
      // 第二种
      var arr:Array<number> = [11,22,33]
      // 第三种  any 这样表示数组里面每个值都是任意类型
      var arr :any[ ] = ["字符串",222,true]
    

    定义元组类型

    let arr:[number,string] = [123,'字符串']
    

    定义枚举类型

    常用来表示一个事物的状态, 比如:成功或者失败

    enum 枚举名 {
       标识符 [ =整形常数 ],
       标识符 [ =整形常数 ],
       标识符 [ =整形常数 ],
       ···
       标识符 [ =整形常数 ],
    }
    // 示例一
    enum  zt { success = 1 , error = 3 }
    let num : zt =  zt.error
    console.log(num)  // 打印出3
    
    // 示例二
    enum color{  red , bule , 'orange'}
    let num : color = color.bule
    let str : color = color.orange
    console.log(num)  // 打印1 
    console.log(str)    // 打印2
    // 如果标识符没有赋值,他的值就是下标
    

    any 任意类型

      var a : any = "字符串"
      var a : any = 2
     // 获取dom元素的的时候可以使用 any 任意类型
    
    

    void

     function run():void{   //表示该方法没有返回任何类型
    }
    
    
    function run():number{      //表示该方法返回数字类型
       return  123;
    }
    

    函数返回值及传参

    function getlist( name:string , age:number ):string{
      return "字符串"
    }
    getlist("姓名",18)
    
    // 在形参后面加问号表示可传可不传
    // 例 :
    function getlist( name:string , age?:number ):string{
       if(age){
         return name + "--" + age
       }else{
          return name + ""
       }
    }
    getlist("姓名",18)
    
    
    //默认参数
    function getlist( name:string , age:number = 20 ):string{
       return name + "---" + age
    }
    getlist("姓名",18)  //返回  "姓名---18"
    getlist("姓名")  //返回  "姓名---20"
    
    
    // 剩余参数
    function sum(...result:number[]):number{
     var num = 0
     for(let i = 0; i< result.length; i++){
         num += result[i]
     }
     return num
    }
    sun(1,2,3,4)  // 返回10
    

    类属性的修饰符

    55${GMRLV8C_7D}6ZSVBP2L.png
    类.png

    类静态属性

    static 表示声明静态属性或方法
    静态方法里不可以访问类里面的属性,静态方法里只可以访问用static声明的静态属性


    类静态属性.png

    抽象类

    abstract 表示子类必须实现带abstract的方法


    抽象类.png

    接口

    接口.png
    1. 属性接口 对json的约束
     function fun(obj:{name:string}):void{
    }
    // 表示必须传入一个对象,对象里必须要有Stright类型的name这个属性
    
    //批量约束形参
    // interface  声明批量约束
    interface fullname{
         a:string;
         b:string;
    }
    function fun1(obj:fullname):void{}
    function fun2(obj:fullname):void{}
    //表示fun1和fun2必须传入一个属性里只有string类型的a和b属性的对象
    
    
    interface fullname{
         a?:string; //在a后面加个?表示a可传可不传
         b:string;
    }
    
    

    相关文章

      网友评论

          本文标题:TS 数据类型及使用

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