新增类型:元组、枚举、never、void、any
(一)元组
元组就是规定了【元素数量】和【每个元素类型】的数组
let arr:[number, string, boolean] = [1, 'hah', true]
必须一一对应,不能有任何幺蛾子,比如增加一项数组等等
let arr1:[number, string, boolean] = [1, 'hah', true, 'dd']
上面代码报错
元组的特点:(1)要指定元素的个数 (2)要为每个元素指定类型
(二)枚举
enum 枚举名 {
枚举1 = 枚举值1,
枚举项2 = 枚举值2,
...
}
例子:
enum info {
sex = '女',
age = 12,
}
枚举也可以不指定枚举值,这时候从0开始赋值默认值
enum info {
sex,
age,
name
}
console.log(info)
相当于
{ sex: 0, age: 1, name: 2 }
业务中使用:
enum sex {
boy = 1,
girl = 2,
unknown = 3
}
let userSex: sex = sex.boy
console.log(userSex) // 1
if (userSex == sex.boy) {
console.log('男孩')
} else {
console.log('未命中')
}
// 输出男孩
当我进行判断的时候 自动检测
(三)void : 一般用于无返回值的函数
(四)never:代表不存在值的类型,常用于 【抛出错误】 或者 【无限循环】的函数返回值类型
注意:never 类型是 ts 中的底部类型,所有类型都是 never 类型的父类
(五)any: 任意类型