ts数据类型
编写代码规范,利于维护,增加类型校验,在html文件中运用ts文件,在html中script引入js文件
类型 :(定义类型赋值其他类型的值会报错)
数据类型 | 类型校验 |
---|---|
boolean | var flag:boolean = true |
number | var num:number = 10 |
string | var num:string = "123" |
array | 举例类型:number 方式1: let arr:number[] = [1,2,3,4] :数据只能放定义的类型方式2: let arr:Array<number>=[1,2,3,4] |
tuple (元组类型) | 属于数组的一种,指定数组中的每一个类型let arr:[string,number,boolean] = ["ts",3.18,true] |
enum (枚举类型) | 用自然语言表示某一状态,而不局限于数值数据表示 详解 |
any (任意类型) | var num:any = "123" num = true 不报错 详解 |
null和undefined | var num:null num = null 详解 |
void类型 | 表示没有任何类型,定义方法时方法没有返回值,return有返回值就定义对应的数据类型详解 function run():void{cosole.log('run')} run() |
never类型 | 其他类型,包括null和undefined的子类型,代表从不会出现的值,表示声明never的变量只能被never类型所赋值,等于其他类型会报错,不常用详解 |
enum(枚举类型)
用自然语言表示某一状态,而不局限于数值数据表示
// 如:pay_status:0 未支付 ; 1 支付 ; 2 交易成功
enum pay_status {
nopay = 0,pay = 1,paysuccess = 2
}
var f:pay_stauts = pay_status.nopay
// 打印:f = 0 (未赋值时默认打印索引值)
enum pay_status {
nopay,pay = 6,paysuccess
}
var f:pay_stauts = pay_status.paysuccess
// 打印:f = 7 (以上一个值为索引值+1)
any(任意类型)
任意类型用法:获取html中的dom元素,dom元素是一个对象,ts数据类型中没有object,此时需要定义为any类型不然会报错
var oBox:any = document.getElementById('box');
oBox.style.color = 'red'
null和undefined
var num:number; // 变量定义没有赋值:输出undefined 并报错
var num:undefined; // 输出undefined 正确
// 正确操作:var num:number | undefined
void类型
表示没有任何类型,定义方法时方法没有返回值,return有返回值就定义对应的数据类型
function run():void{
cosole.log('run')
}
run()
never类型
其他类型,包括null和undefined的子类型,代表从不会出现的值,表示声明never的变量只能被never类型所赋值,等于其他类型会报错,不常用
var a:
a = (()=>{
throw new Error('错误')
})()