TypeScript 元组
元组(Tuple)是 TypeScript 中一个特殊的类型,它允许你表示一个已知元素数量和类型的数组。与普通数组不同,元组中每个位置上的元素类型是固定的。
声明和初始化元组
你可以通过在方括号 [] 中指定一系列类型来定义一个元组。
访问元组元素
你可以像访问数组元素一样,使用索引来访问元组中的元素。TypeScript 会根据索引提供正确的类型提示。
元组的解构赋值
你可以使用解构赋值来方便地获取元组中的所有元素。
可选的元组元素
元组元素也可以是可选的,通过在类型后添加 ? 来标记。可选元素必须在元组的末尾。
元组与数组的比较
元组的越界访问
在 TypeScript 的早期版本中,对元组进行越界操作(例如 push 一个新元素)是允许的,但访问这个越界元素时,其类型会被视为元组中所有可能类型的联合类型。
然而,随着 TypeScript 的发展,对元组的类型检查变得越来越严格。现在,通常不建议对元组进行 push 等改变其长度的操作,因为这违背了元组“固定长度”的初衷。
常见用例
-
函数的多个返回值: 当一个函数需要返回多个不同类型的值时,元组是一个很好的选择。
-
表示键值对: 在处理像
Object.entries()返回的数据时。