typescript中为了使写的代码更加规范,更有利于维护,增加了类型校验,ts中提供了以下类型
布尔类型(boolean) true false
var flag:boolean = true //必须指定类型
flag = 'str' //错误写法
flag = flase //正确写法 只能赋值布尔型
数字类型 (number)
var a:number = 123 //必须指定类型
a = ‘123’ 或者 a = false //错误写法
a = 34.5 //正确写法 只能赋值数字类型
字符串类型 (string)
let a:string = ‘天天下雨’ //必须指定类型 let最终编译成var
a = 1234 或者 a = false //错误写法
a = ‘好累的大半夜的’ //正确写法 只能赋值字符串类型
数组类型 (array)
1.定义数字方式一
let arr:number[] = [1,2,3,4,5,6] //只能是number类型
let arr:string[] = ["asd","dff","afg"] //只能是string类型
2.定义数字方式二
let arr:Array<number>=[12,23,34,45] //只能是number类型 //泛型定义
et arr:Array<string> = ["asd","dff","afg"] //只能是string类型
元组类型 (tuple) 属于数组的一种
let arr:[string,number,boolean] = ["asd",353,true]
枚举类型 (enum) 定义标识符
es5中
flag 1表示true -1表示false
ts中
enum flag { success=1,error=-1}
var f:flag = flag.success //f 就表示1
flag.error //表示-1
enum color {red,blue,orange}
var c:color = color.blue
console.log(c) //输出下标1
enum color {red,blue=5,orange}
var c:color = color.red
console.log(c) //输出下标0 //如上是color.blue则输出5 是orange 则输出6
任意类型(any)
var num:any = 123
num = "str" //可以赋值任意类型
var obox:any = document.getElementById("box")
obox.style.color = 'red' //正确
null和undefined 其他(never)数据类型的子类型
var num:undefined; //正确
var num:number; //报错
var num:number | undefined | null; //完美写法
num = 123; //输出123 不赋值时提示undefined
void类型
表示没有任何类型,一般用于定义方法的时候没有返回值
function run ():void{ //表示没有任何返回值
conole.log(run)
}
function run ():number{ //返回数值类型
return 123
}
never类型 其他类型 代表从不会出现的值
var a = null; a=null //只能等于null
var a = undefined; a=undefined //只能等于undefined
var a:never
a = 123 //错误写法
a=(()=>{ //正确写法
throw new Error('错误')
})