- 布尔类型(boolean)
- 数字类型(number)
- 字符串类型(string)
- 元组类型(tuple)
- 枚举类型(enum)
- 任意类型(any)
- null和undefined
- void类型
- never类型
注意:写ts代码定义变量要指定类型
布尔类型
var flag:boolean = true
flag = 123 // 报错
flag = false // 正确
数字类型
var num:number = 123
num = 'hello' // 报错
num = 911 // 正确
字符串类型
var str:string = 'hello'
str = 911 // 报错
str = 'coding' // 正确
数组
- 第一种定义数组的方式
var arr:number[] = [] // 数组中的所有源数据都是number
arr = [1, 2, 3, ''] // 报错
arr = [1, 2, 3] // 正确
- 第二种定义数组的方法
var arr:Array<number> = [1, 2, 3]
- 第三种定义数组的方法
var arr:any[] = []
元组类型
给数组的每一个元素指定类型
var arr[number, string] = [123, 'hello']
枚举类型
处理非数值数据
js中表示支付状态:pay_status 1支付成功 2未支付 3取消,可读性差
enum Color {
blue,
red = 3,
yellow
}
var blue:Color = Color.blue // 1如果标识符没有赋值 它的值就是下标
var red:Color = Color.red // 3
var yellow:Color = Color.yellow // 4
任意类型
任意类型的用途
var oBox:any = document.getElementById('oBox')
oBox.style.color = 'red'
null和undefined
其他数据类型的子类型
var num:number
console.log(num) // undefined
// 可能是两种类型
var num:number | undefined
console.log(num)
var num:null
num=null
一个元素可能是number,可能是null,可能是undefined
var num:number | null | undefined
void类型
ts中的void表示没有任何类型,一般用于定义方法中没有返回值。
function test():void{}
function run():number{return 911}
never类型
包括null和undefined,代表从不会出现的值
var foo:undefined
foo = undefined
var bar:null
bar = null
var zoo:never
zoo = (() => {
throw new Error('hello')
})()