丁鹿学堂:前端培训入门系列之typescript(四)

71 阅读1分钟

ts中的对象类型比较复杂。如果直接给变量指定object,没有什么意义。因为数组,函数,都是对象。

常用的是规定对象里面数据的类型。此时变量和类型对象里里面定义的内容要完全一致。不能多也不能少。

下面age后面的?表示age是可选的。

[key:string]:any 表示key值是一个字符串,value是任意值,并且可有可无。

let a :{
    name:string,
    age?:number,
    [key:string]:any
}
a = {
    name:'zhangsan',
    time:200
}

定义函数的类型 let fn:(a:number,b:number)=>number

let fn:(a:number,b:number)=>number
fn = (a,b)=>{
    return a+b
}
  1. 定义数组类型,两种方式
    1. let arr : string[]
    2. let arr:Array

TS种新增的数据类型

    1. 元组:固定长度的数组。语法: let a:[string,string]
    2. 枚举(enum):就是把所有可能的情况列出来。
// 定义枚举类
enum Gender{
    Male = 1,
    Female =2
}
let msg:{name:string,gender:Gender}  // 第二步,类型的时候填枚举类
msg = {
    name:'zhangsan',
    gender:Gender.Female // 使用的时候用点语法
}

类型的别名,如果一个变量可以是好几个类型,可以使用类型别名,并且可以复用类型。定义别名的关键词是type

type nameType = string | number | 'zhangsan'
let nameValue :nameType
let nameValue2:nameType