元组类型
元组是固定数量的不同类型的元素的组合。
元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。
let list:[number,string] = [1,'zs']
let list1: readonly [number,boolean,string,undefined] = [1,true,'zs',undefined]
当赋值或访问一个已知索引的元素时,会得到正确的类型:
let arr:[number,string] = [1,'zs']
arr[0].length //错误
arr[1].length //正确
//数字是没有length 的
越界元素
let arr:[number,string] = [1,'zs']
arr.push(true) //错误
枚举类型
使用枚举 通过enum关键字定义我们的枚举
1.数字枚举
例如 定义颜色:红绿蓝 Red = 0 Green = 1 Blue= 2 分别代表红色0 绿色为1 蓝色为2
// 第一种方式
enum Types{
Red,
Green,
BLue
}
// 第二种方式 ts定义的枚举中的每一个组员默认都是从0开始的
enum Types{
Red = 0,
Green = 1,
BLue = 2
}
//默认就是从0开始的 可以不写值
增长枚举
我们定义了一个数字枚举, Red使用初始化为 1。 其余的成员会从 1开始自动增长。 换句话说, Type.Red的值为 1, Green为 2, Blue为 3
enum Types{
Red = 1,
Green, // 2
BLue // 3
}
2.字符串枚举
在一个字符串枚举里,每个成员都必须用字符串字面量,或另外一个字符串枚举成员进行初始化。
enum Types{
Red = 'red',
Green = 'green',
BLue = 'blue'
}
3.异构枚举
扫描二维码关注公众号,回复:
15515117 查看本文章
枚举可以混合字符串和数字成员
enum Types{
No = "No",
Yes = 1,
}
4.接口枚举
定义一个枚举Types 定义一个接口A 他有一个属性red 值为Types.a
enum Types {
a,
b
}
interface A {
red:Types.a
}
let obj:A = {
red:Types.a
}
5.const枚举
let 和 var 都是不允许的声明只能使用const
const enum Types{
No = "No",
Yes = 1,
}