(2)ts数据类型
程序员文章站
2024-01-20 13:40:22
...
1.ts数据类型总览
ts包含js原有的数据类型,并且在js基础上新增了几种数据类型
2.数据类型的定义
(1)常见数据类型
let type1:number=1//number:只能为数字类型
let type2:boolean=true//boolean,只能为true和false
let type3:string='字符串呵呵'//string,只能为字符串
(2)数组(Array)
数组有两种定义方式
// 在元素类型后面加上[],数组每个元素都为number
let arr: number[] = [1, 2];
// 或者使用数组泛型
let arr: Array<number> = [1, 2];
(3)元组(tuple)
元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
x = [1, 'Runoob']; // 报错
console.log(x[0]); // 输出 Runoob
(4)枚举(enum)
枚举类型用于定义数值集合。有两种不同的定义方式。
1.自定义枚举数值
enum testEnum={
test1=1,
test2=2,
test3=4,
}
let m:testEnum=testEnum.test2
console.log(testEnum.test1,m)//1,2
2.默认数值
enum Color {Red, Green, Blue};
let c: Color = Color.Blue;
console.log(c); // 输出 2
(5)任意类型(any)
一般用于获取dom节点,或者不知道将获取什么数据类型时使用,可赋值其任何类型的数据
let a:any=1
a='bbb'
a=[1,2,3]
(6)void
用于标识方法返回值的类型,表示该方法没有返回值。
//定义有返回值的数据时
function method:string(){
return '8866bhfgfbhbjhh'
}
//定义无返回值的数据时
function method:void(){
}
(7)never
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。常用于抛出异常,以及无限循环的函数的返回值。
function errmethod:never(){
throw new Error('抛出错误')
}
3.类型推断
如果变量的声明和初始化在同一行则可以省略冒号后的类型,但意思不变。
let a:string='11111'//======>可以简化为 let a='11111',a仍然只能为字符串类型
4.联合类型,即给变量定义多种类型
let b:string|boolean|number=9
b='222'
b=true
b=2