布尔型
let isDone:boolean = false
数字型
let a1:number = 5
undefined和null
都可以作为其它类型的子类型,把这两个类型赋值给其它类型的变量都可以。
数组类型
定义方式1:
let arr1:number[] = [10,20,30]
定义方式2:泛型的写法
let arr2:Array<number> = [100,200,300]
注意:数组定义后,里面的数据的类型必须和定义数组的时候的类型是一致的,否则有错误提示信息,也不会编译通过的
元组类型:在定义数组的时候,类型和数据的个数一开始就已经限定了
let arr3:[string,number,boolean]=['cehsi',5,false]
注意问题:元组类型在使用的时候,数据的类型位置和数据的个数,应该和在定义元组的时候的数据类型及位置应该是一致的
枚举类型:枚举里面的每个数据值都可以叫做元素,每个元素都有自己的编号,编号是从0开始的,依次的递增加1
enum color{
red,
green,
blue
}
可以手动指定对应枚举的数值
enum color{
red=10,
green,
blue
}
any类型:可以用于存储任何类型的数值
let str:any=100
str = '测试'
但是使用any类型就违背了ts创建的初衷
void类型
![](https://img2020.cnblogs.com/blog/2006336/202103/2006336-20210312202849242-1734158831.png)
object类型:除了string,boolean
function getobj(obj:object):object{
console.log(obj)
return {
name:'卡卡西',age:27
}
}
联合类型:可以是确定的几个类型中一个
function getString(str:number|string){
return str.toString()
}
类型断言,在联合类型中使用,告诉系统我知道我使用的变量类型
![](https://img2020.cnblogs.com/blog/2006336/202103/2006336-20210312203822303-1412141378.png)
用<>号或者as
类型推断:ts在没有声明类型的时候自动判断该类型是什么