变量:
*ts声明变量时必须指定数据类型。
语法:let 变量名:变量类型 = 值
数据类型:
原有类型:string、number、boolean、array、null、undefined、symbol、object
新增类型:tuple(元组)、enum(枚举)、any(任意类型)、never、void
1、数组(array)
*需要声明时指定数组中元素的类型;
语法:
方法一:let 数组名:类型[] = [值1,值2]
eg:let arr1: string[] = ['hello','hi']
方法二:let 数组名:Array<类型> = [值1,值2]
eg:let arr1: Array<string>= ['hello','hi']
2、元组(tuple)
概念:就是规定了一个元素数量和每个元素类型的“数组”,而每个元素的类型可以不相同
语法:
let 元组名:[类型一,类型二,类型三] = [值1,值2,值3]
eg:let tup: [string,number,boolean] = ["hello",18,true]
3、枚举(enum)
语法:
enum 枚举名{
枚举项1 = 枚举值1,
枚举项2 = 枚举值2
... ...
}
eg:enum GunType {
type1 = 1,
type2 = 2
}
*枚举项 一般用英文和数字,而枚举值 用整数数字
使用默认枚举值:
enum 枚举名{
枚举项1,
枚举项2
...
}
4、any
概念:代表任意类型;(在不确定数据类型的时候使用)
eg: let txtName: any = document.getElementById('txtN')
5、void
概念:void代表没有类型,一般用在无返回值类型中
语法:
function sayHi(): void {
console.log('无ruturn返回值')
}
6、never
概念:代表不存在的值的类型,常用作抛出异常或者无限循环的 函数返回类型。
语法:
function test ():never {
throw new Error('抛出异常')
}
补充:never类型是ts中的底部类型,所有类型都是never类型的父亲
类型推断:
概念:如果变量的声明和初始化在同一行,可以省略掉变量的声明
let 变量名 = 值;
||
let 变量名: 变量类型 = 值;
联合类型:
概念:表示取值可以为多种类型中的一种
语法:
let 变量名:变量类型1|变量类型2 = 值
eg:接收prompt 函数的返回值
let dName: string | null = prompt('请输入名字')
console.log('hello' + dName)