TypeScript 词条目录
前端Wiki/词条/元组 Tuple

元组 Tuple

定义固定长度且每个位置类型明确的特殊数组类型

元组是已知长度、每个位置类型可以不同的特殊数组:type RGB = [number, number, number]。它天然适合表达坐标、颜色、键值对等多类型定长数据。与普通数组不同,元组限制了长度与每个槽位的类型,越界访问或写入其他类型都会报错,比 any[] 安全得多。

标签元组让可读性更好:type Point = [x: number, y: number],编辑器悬停会显示参数名。rest 元组与 const 断言的元组在函数参数收窄中经常出现。实际开发中元组最常配合 React 的 useState 出现——它的返回值就是由值与设置函数组成的二元组。

JavaScript
type RGB = [number, number, number];
const color: RGB = [255, 128, 0];

type Point = [x: number, y: number];    // 标签元组
function move(p: Point, dx: number): Point {
  return [p[0] + dx, p[1]];
}

// color.push(1);  // 报错:长度固定为 3
move([1, 2], 5);   // [6, 2]
⚠ 常见误区
🔗 相关词条数组与元组枚举 enum
← 返回来源章节数组与元组