TypeScrip 元组类型 枚举类型

元组类型

元组是固定数量的不同类型的元素的组合。
元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。

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.异构枚举

枚举可以混合字符串和数字成员

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,
}

猜你喜欢

转载自blog.csdn.net/qq_52099965/article/details/128082993