typeScript5(元组)

数组一般由同种类型的值组成,但有时我们需要在单个变量中存储不同类型的值,这时候我们就可以使用元组。在 JavaScript 中是没有元组的,元组是 TypeScript 中特有的类型,其工作方式类似于数组。

元组最重要的特性是可以限制数组元素的个数和类型,它特别适合用来实现多值返回。

元组类型的解构赋值

我们可以通过下标的方式来访问元组中的元素,当元组中的元素较多时,这种方式并不是那么便捷。

注意点:在解构赋值时,如果解构数组元素的个数是不能超过元组中元素的个数,否则也会出现错误

//可结构赋值

let employee: [number, string] = [1, "Semlinker"];
let [id, username] = employee;
console.log(`id: ${id}`) 

元组类型的可选元素

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

 元组类型的剩余元素

元组类型里最后一个元素可以是剩余元素,形式为 ...X,这里 X 是数组类型。剩余元素代表元组类型是开放的,可以有零个或多个额外的元素。 

type RestTupleType = [number, ...string[]];

只读的元组类型

我们可以为任何元组类型加上 readonly 关键字前缀,以使其成为只读元组。

在使用 readonly 关键字修饰元组类型之后,任何企图修改元组中元素的操作都会抛出异常

 const point: readonly [number, number] = [10, 20];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙哥风向标20240326 GPT拆解

视频号刷到一个便携折叠屏,直击商务用户群体痛点 盈利点:利用视频号平台上商务用户群体的需求,推出便携折叠屏产品,吸引高客单的商务用户群体,同时可以考虑拓展海外市场。 操作步骤: 通过视频号平台了解商…

通科技新品亮相:4K60编解一体,USB透传无忧

在信息化快速发展的今天,音视频技术的需求与应用场景日益丰富,特别是在对视频画质和实时性要求极高的领域中,如军警、公安、金融等,对音视频处理设备的性能要求更为严格。为满足这些高端应用场景的需求,视通科技紧跟时…

【MySql】MySQL表的结构

MySQL表的结构通常包含以下几个部分: 表名: 每个表都有一个唯一的名称,用于标识这个表。 字段: 表中的每一列被称为字段,每个字段都有一个名称和数据类型。如姓名、年龄、编号等。 记录: 表中的每一行被称…

【Node.js从基础到高级运用】十八、Node.js的安全性加固

引言 在Web开发中,安全性是一个不可忽视的话题。Node.js作为一个流行的后端平台,同样需要关注各种潜在的安全威胁,并采取措施加以防御。本文将介绍如何在Node.js应用中防御常见的Web攻击,以及如何使用安全相关的中间件来加固安全性…

24.Python从入门到精通—函数 标准模块 包

24.从入门到精通:__name__属性 dir(函数 标准模块 包 从一个包中导入* __name__属性dir() 函数标准模块包从一个包中导入* __name__属性 在Python中,每个模块(module)都有一个内置的属性name,用于表示模块的名称。这个…

MySQL-1.数据库的基本操作

1. 数据库的基本操作 show databases; information_schema:信息图式,存储服务器管理数据库的信息 mysql:存放系统信息,用户名密码等 performance_schema:性能图式 sys:系统文件 1.1 创建数据库-studen…

vue指令相关

vue中有很多的指令像v-on、v-model、v-bind等是我们开发中常用的 常用指令 v-bind 单向绑定解析表达式 v-model 双向数据绑定 v-for 遍历数组/对象/字符串 v-on 绑定事件监听,可简写为@ v-show 条件渲染(动态控制节点是否存展示) v-if 条件渲染(动态控制节点是否存存在) v…

Linux VFS机制详解

在深入探讨Linux操作系统内部机制时,我们无法忽视一个关键的核心组件——Linux Virtual File System (VFS)。VFS作为Linux内核中的重要组成部分,其主要作用是在用户空间应用程序与内核中多样化的物理文件系统之间搭建起一座桥梁,提供了一个抽…

套娃式大小AI群体导致AI觉醒吗?

一、“套娃式”AI训练 目前,我们所讨论的人工智能(AI)主要是基于机器学习和深度学习技术的算法系统。它们通过不断学习、优化和改进以完成特定任务,但并不具备自我意识或者独立的创造性思考能力,即“觉醒”。 “套娃式…

RHCE作业:搭建web网站

综合练习: 请给openlab搭建web网站 网站需求: 1.域名访问网站 基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.创建界面 给该公司创建三个子界面分别显示学生信息,教学资料 和缴费网站,基于www.openlab.com…

Splashtop 荣获2024年 Globee® 卓越网络安全两大奖项

2024年3月25日 加利福尼亚州库比蒂诺 Splashtop 在简化随处办公领域处于领先地位,我们自豪地宣布荣获全球卓越企业权威机构 Globee 奖。Splashtop 凭借其安全工作空间解决方案(即插即用安全访问平台,使 IT 部门能够简化零信任的实施&#xf…

算法笔记~—位运算

目录 常见位运算: 1、基础位运算 2、对于一个数n。确定、修改这个数n二进制x位。 3、提取(确定)一个数n最右侧的1(bit)与干掉最右侧的1(bit) 4、异或运算律 5、位运算的优先级&#xff1a…

vscode 配置c++环境——3个文件搞定!!!

前提: 在vscode中安装了c扩展 创建文件settings.json {"files.associations": {"string": "cpp","vector": "cpp","array": "cpp","atomic": "cpp","*.tcc"…

上课科达可靠性开始看

上课开始看什么书看书

[C++]函数重载(什么是函数重载,函数重载的原理(底层怎么实现))

一、什么是函数重载 函数重载是指在同一作用域内,可以有多个功能类似具有相同函数名,不同参数列表(包括参数类型、参数个数、参数顺序)的函数。编译器会根据函数调用时提供的参数来决定调用哪一个具体的函数。 注意:只…

QT gridlayout 循环设置组件,表格也通用 已解决

在需求中。经常遇到,表格 展示需求。 几乎都是json格式的。 // 列表配置文件QJsonArray listJsonArray getCfgJsonData("details_tab_table_config.json");if (listJsonArray.isEmpty()){return;}ui->gridWidget->setMaximumSize(QSize(310, 180)…

Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应

Vant Weapp 1.0 版本开始支持van-uploader组件&#xff0c;请先确认好版本号和引用路径正确&#xff01;&#xff01; <van-uploader file-list"{{ fileList }}" deletable"{{ true }}" />1. 上传无反应 微信小程序用了van-uploader&#xff0c;但是…

第G5周:Pix2Pix理论与实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 一、背景知识 1.1 图像翻译 图像内容&#xff08;Image Content&#xff09;&#…

冒泡排序 快速排序 归并排序 其他排序

书接上回.. 目录 2.3 交换排序 2.3.1冒泡排序 2.3.2 快速排序 快速排序的优化: 快速排序非递归 2.4 归并排序 基本思想 归并排序非递归 海量数据的排序问题 排序算法时间空间复杂度和稳定性总结 四. 其他非基于比较排序 (了解) 2.3 交换排序 基本思想&#xff1a;…

[技术杂谈]解决windows上出现文件名太长错误

最近执行python setup.py install总是失败&#xff0c;提示文件名太长发现网上有取消限制文件名长度&#xff0c;测试发现改完注册表无需重启cmd就生效了。但是有时候会失败&#xff0c;现在方法放这。 转到Windows“开始”&#xff0c;然后键入REGEDIT。选择注册表编辑器 选…