学习TypeScrip9(元组类型)

简介: 元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。

如果需要一个固定大小的不同类型值的集合,我们需要使用元组。


元组就是数组的变种


元组(Tuple)是固定数量的不同类型的元素的组合。


元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。


let arr:[number,string] = [1,'string']
let arr2: readonly [number,boolean,string,undefined] = [1,true,'sring',undefined]


当赋值或访问一个已知索引的元素时,会得到正确的类型:


let arr:[number,string] = [1,'string']
arr[0].length //error
arr[1].length //success
//数字是没有length 的


元组类型还可以支持自定义名称和变为可选的


let a:[x:number,y?:boolean] = [1]


越界元素


let arr:[number,string] = [1,'string']
arr.push(true)//error


对于越界的元素他的类型被限制为 联合类型(就是你在元组中定义的类型)如下图


29f23f5e7fdb43f69a6d19ee7c9c3df6.png


应用场景 例如定义excel返回的数据


let excel: [string, string, number, string][] = [
    ['title', 'name', 1, '123'],
    ['title', 'name', 1, '123'],
    ['title', 'name', 1, '123'],
    ['title', 'name', 1, '123'],
    ['title', 'name', 1, '123'],
]


下一章学习TypeScrip10(枚举类型)_qq1195566313的博客-CSDN博客

目录
相关文章
|
弹性计算 JavaScript 算法
常见类型-3:数组元组的方法
本实验将介绍TypeScriptvs数组元组的方法
|
5月前
|
存储 JavaScript 索引
TypeScript 中的元组类型:元组的特性、常见操作和注意事项
TypeScript 中的元组类型:元组的特性、常见操作和注意事项
207 1
|
4月前
|
JavaScript 安全
TypeScript类型(数字、字符串、字面量、数组、元组、枚举、对象等)
TypeScript类型(数字、字符串、字面量、数组、元组、枚举、对象等)
|
5月前
|
Rust 索引 Windows
Rust 原始类型之数组array内置方法
Rust 原始类型之数组array内置方法
183 0
Rust 原始类型之数组array内置方法
|
5月前
|
JavaScript 前端开发 编译器
TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型
TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型
69 1
|
存储 数据挖掘 Linux
Python学习笔记丨数据类型基础与易错点总结,列表、字典、集合、数值、字符串、元组
Python学习笔记丨数据类型基础与易错点总结,列表、字典、集合、数值、字符串、元组
|
JavaScript
学习TypeScrip11(类型推论|类型别名)
如果你声明变量没有定义类型也没有赋值这时候TS会推断成any类型可以进行任何操作
81 0
学习TypeScrip11(类型推论|类型别名)
|
JavaScript
学习TypeScrip12(never类型)
差异2 当我们鼠标移上去的时候会发现 只有void和number never在联合类型中会被直接移除
69 0
学习TypeScrip4(数组类型)
学习TypeScrip4(数组类型)
42 0
|
安全 JavaScript
学习TypeScrip2(任意类型)
TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown
79 0