TypeScript的新类型(五):tuple元组

定义

元组(tuple)是⼀种特殊的数组类型,可以存储固定数量的元素,并且每个元素的类型是已知的且可以不同。元组⽤于精确描述⼀组值的类型,?表示可选元素。

  • 注意: 在ts中tuple 不是关键词 ,只是⼀种 特殊的数组 形式
  • 可以存储固定数量元素,且元素类型已定义并且可以不同
  • 给元组赋值时元素的个数元素类型都要符合定义时候的声明(除了 ? 可选元素和 ...元素类型\[\] 任意数量元素情况)
ts 复制代码
// 第⼀个元素必须是 string 类型,第⼆个元素必须是 number 类型。
let arr1: [string,number]
arr1 = ['hello',123]
// 不可以赋值,arr1声明时是两个元素,赋值的是三个
arr1 = ['hello',123,false]

?可选元素的定义

  • ?加在元素后面,表示该属性为可选元素
ts 复制代码
// 第⼀个元素必须是 number 类型,第⼆个元素是可选的,如果存在,必须是 boolean 类型。
let arr2: [number,boolean?]
arr2 = [100,false]
arr2 = [200]

...元素类型[],任意数量的元素的定义

  • ...string[]允许元组有任意数量的元素,在...后元素的数据类型
ts 复制代码
// 第⼀个元素必须是 number 类型,后⾯的元素可以是任意数量的 string 类型
let arr3: [number,...string[]]
arr3 = [100,'hello','world']
arr3 = [100]
相关推荐
Csvn4 分钟前
🚨 组件卸载后还在 setState?一个被你忽视的内存泄漏和报错根源
前端
SimonKing16 分钟前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
乘风gg16 分钟前
AI GenUI 真正落地时,前端到底要做什么?
前端·ai编程·cursor
铁皮饭盒26 分钟前
@kognitivedev/rag, 用js做AI Agent开发
javascript·后端
恋猫de小郭32 分钟前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
IT_陈寒36 分钟前
JavaScript的默认参数挖坑实录,我掉进去了
前端·人工智能·后端
陈明勇2 小时前
Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用
后端·go
咖啡八杯11 小时前
GoF设计模式——策略模式
java·后端·spring·设计模式
lizhongxuan12 小时前
AI Agent 上下文压缩利器 Headroom
后端
kyriewen13 小时前
别再 console.log 了:5 个 Chrome DevTools 调试技巧,用过就回不去了
前端·javascript·面试