TS 数据类型及使用

2020-02-06  本文已影响0人  命题_1f6e

数据类型

布尔类型 (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;
}

上一篇 下一篇

猜你喜欢

热点阅读