[T, U] 元组类型

最后更新:2026-10-22

[T, U] 元组类型

元组是"长度固定、每个位置类型可不同"的数组类型,适合坐标、键值对、函数多个返回值这类位置本身有含义的数据。

分组基础类型
类型类型
严格模式不需要

ℹ️ 说明 编辑器将 TypeScript 转译为 JavaScript 后运行(不做类型检查);类型检查结果见示例 Output。

📝 语法

type Point = [number, number];
type Named = [name: string, age: number]; // 具名元组
let pair: Point = [3, 4];

⚙️ 参数

[T, U]按位置声明类型:第 0 位是 T、第 1 位是 U,长度也固定
[lat: number][lat: number, lng: number] 给位置起名,只影响可读性

返回值:无返回值——元组是纯类型层概念,运行时就是普通数组。

▶ 示例

修改下面的代码,点击试一试查看转译运行结果:

输出:

rgb(255, 0, 0)

(转译后运行输出;red.push("x") 或 red = [255, 0] 都会得到编译错误)

💡 要点

ℹ️ 说明 元组在运行时就是普通数组,长度约束只存在于编译期。
💡 提示 具名元组 [lat: number, lng: number] 让解构和 IDE 提示更有意义,多返回值场景强烈推荐。
⚠️ 注意 push 仍能往元组里追加已声明类型的元素(长度可超):[number, number].push(1) 不报错。位置语义靠纪律维持。
更多案例即将上线。

📚 相关教程

❓ 常见问题

Q 元组和数组的区别是什么?
A 数组长度可变、元素同型;元组长度固定、位置各异。需要"每位的含义都不同"(如 [经度, 纬度])用元组,集合类数据用数组。
Q 元组可以有可选元素吗?
A 可以:[string, number?] 表示第二位可缺席,可选元素必须排在末尾。
Q 元组和剩余参数有什么关系?
A 剩余参数天然是元组:function f(...args: [string, number]) 精确规定了调用时先传 string 再传 number。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏