TypeScript 高级语法——元组

元组类型是另一种数组类型,它确切地知道它包含多少个元素,以及它在特定位置包含哪些类型。
元组是TS引入的一个概念,在JS中没有可对应的实现,它最大的意义在于在开发阶段给我们更准确的提示,当我们访问超过元组长度的索引位置时我们会获得直接的异常提示,获取任意一个位置的元素都能得知准确的元素类型(因为元组中每个位置的元素类型都被声明了)。
元组本质上是一个具象化描述的数组(Array),和数组具有相同的方法、特性,可以被解包、调用数组函数。
上例是一个配合剩余参数的元组示例,类型描述中“...boolean[ ]”表示除元组前两位以外剩余的参数都为布尔类型,这种写法的好处是当我们对剩余参数存在一定的预判的时候,能编写更多的编译时代码提供给我们开发提示。
示例中的readonly关键字表示元组不可被修改,rest将作为只读参数存在。readonly也是TS引入的概念,在ES标准中并不存在,其只是在编码过程中为开发人员提供类型提示上的便利。