1. 基础数据类型
1.1 布尔类型
//let 变量名:数据类型 = 值
let flag:boolean = true
1.2 数字类型
let a1:number = 10
二进制/八进制/十六进制0b/0o/0x
1.3 字符串类型
let str1:string = 'biu'
//字符串和数字可以拼接str + num
ts中,变量一开始是什么类型,赋值就只能使用这个类型的数据
1.4 undefined & null
//可以作为其他类型的子类型(1.tsconfig.json中"strict":false;(关掉严格模式)2.npm run dev)
let num1: number = null
let num2: number = undefined
1.5 数组类型
数组定义方式1
let 变量名:数据类型[ ] = [值1,值2,值3]
let arr1:number[] = [10,20,30]
数组定义方式2
let 变量名:Array<数据类型> = [值1,值2,值3]
let arr2:Array<number> = [100,200,300]
数组定义后,里面的数据类型必须和定义数组时的类型一致
1.6 元组
let arr3:[string,number,boolean] = ['biu',111,true]
定义数组时,类型和数据的个数一开始就限定了,数据类型的位置和个数与定义的一致
1.7 枚举
enum Color{
purple=1,
green,
pink
}
//定义一个Color的枚举类型的变量来接收枚举的值
let color:Color = Color.purple
console.log(color)//1
console.log(Color.pink)
console.log(Color[3])//pink
2. any
let str: any = 100
console.log(str)//100
let str: any = 'biu'
console.log(str)//biu
//当一个数组中要存储多个数据,个数不确定,类型不确定,可以用any
let arr: any[] = [111,'biubiu',true]
3. void
function showMsg():void{
console.log('bibiubiu')
//return null
}
在函数声明时,( ) : void,代表该函数没有任何返回值
4. 联合类型
联合类型(Union Types)可以将变量设置多种类型,赋值时可以根据设置的类型来赋值。
注意:只能赋值指定的类型,如果赋值其它类型就会报错。
创建联合类型的语法格式如下:
Type1|Type2|Type3
需求:定义一个函数得到一个数字或字符串值的字符串形式 /得到一个数字或字符串值的长度
function disp(name:string|string[]) {
if(typeof name == "string") {
console.log(name)
} else {
var i;
for(i = 0;i<name.length;i++) {
console.log(name[i])
}
}
}
disp("Runoob")
console.log("输出数组....")
disp(["Runoob","Google","Taobao","Facebook"])
Runoob 输出数组.... Runoob Google Taobao Facebook
类型断言:
告诉编译器,我知道自己是什么类型,知道自己在做什么
类型断言的语法方式1:<类型> 变量名
return (<string>str).length
类型断言的语法方式2:值 as 类型
return (str as string).length