TypeScript 元组类型

2023-10-29

TypeScript 语言中,数组中的元素一般只能是由相同数据类型组成(any[] 除外),如果我们想要存储不同类型的元素,则可以使用元组。

TypeScript 中的元组(Tuple)从外形上来看和数组相差不多, 但是元组中允许存储不同类型的元素,数组中的元素必须是相同的类型。

声明元组

声明元组的语法:

let tuple_name = [value1,value2,value3,…value n]
示例:

例如声明一个由数字类型、字符串类型、布尔类型构成的元素:

let tup1:[number, string, boolean] = [1, 'a', true];
console.log(tup1);  

编译成 JavaScript 代码:

var tup1 = [1, 'a', true];
console.log(tup1); // [ 1, 'a', true ]

输出:

[ 1, 'a', true ]

这样声明的元组,元素的类型必须一一对应,例如右边中括号内第一个元素必须是 number 类型的数据, 第二个元素必须是 string 类型的数据,第三个必须是 boolean 类型,如果没有一一对应,则会报错。

示例:

下图中是一段示例代码,当元素与对应位置的数据类型没有一一对应,会产生错误:

访问元组

和数组一样,元组中元素也可以使用索引来访问,元组中的索引值同样从 0 开始,第一个元素为 0,第二个为 1,以此类推第 n 个为 n-1

示例:

通过索引访问一个元素时,可以得到这个元素的值:

let tup1: [string, number, number] = ['xkd', 1, 3];
console.log("第三个元素的值为:" +  tup1[2]);
console.log
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeScript 元组类型 的相关文章

随机推荐

  • unity3D实现多点触碰

    实现多点触碰是利用input这个类里面的方法实现的 从edit project settings input就可以看到input能够得到的轴 想要读取轴向可以使用Input GetAxis方法获取下列默认轴 Horizontal 和 Ver
  • 神秘又熟悉的main函数

    目录 1 概述 2 程序编译 3 揭开最后的面纱 1 概述 学习C语言的同学都知道main函数 并且这是我们接触的第一个函数 但是很少有人去深究C语言为什么都是从main函数执行的 今天我们就来深入了解下 2 程序编译 C语言生成可执行文件
  • HTML5语义元素

    目录 什么是语义元素 浏览器支持 HTML5 中新的语义元素 HTML5 语义元素 HTML5元素 实例 HTML5元素 实例 嵌套语义元素 HTML5元素 实例 HTML5元素 实例 HTML5元素 实例 HTML5元素 实例 HTML5
  • 凸优化第三章凸函数 3.1基本性质和例子

    3 1基本性质和例子 定义 扩展值延伸 一阶条件 二阶条件 例子 下水平集 上境图 Jensen不等式及其扩展 不等式 定义 函数f是凸函数 当f的定义域S是凸集 且 严格凸函数 从几何上来看 如下图 函数f上的任意两点之间的弦都在函数图像
  • 解决本地浏览器运行项目时的跨域问题Access to XMLHttpRequest at ‘file:///C:/Users/Len/Desktop/%E5%8F%AF%E4%BF%AE%E6%94%

    解决本地浏览器运行项目时的跨域问题 Access to XMLHttpRequest at file C Users Len Desktop E5 8F AF E4 BF AE E6 94 B9 E9 85 8D E7 BD AE dist
  • leetcode 路径总和 -- 递归

    0 题目描述 leetcode原题链接 112 路径总和 1 递归解法 假定从根节点到当前节点的值之和为 val 我们可以将这个大问题转化为一个小问题 是否存在从当前节点的子节点到叶子的路径 满足其路径和为 sum val 不难发现这满足递
  • 【OpenCV】噪声的添加和过滤

    1 简介 下面简单介绍两种图像噪声 即椒盐噪声和高斯噪声 1 椒盐噪声 椒盐噪声也称脉冲噪声 它是一种随机出现的白点或者黑点 可能是亮的区域有黑色像素或是在暗的区域有白色像素 或是两者皆有 图像模拟添加椒盐噪声是通过 随机获取像素点 并设置
  • Android 12上全新的应用启动API,适配一下?

    今日科技快讯 近日 谷歌宣布 将在欧洲市场上销售的Android手机中免费添加更多移动搜索应用 欧洲Android用户可以通过全新的 搜索引擎选项 来选择并设置自己设备上的默认搜索引擎 作者简介 本篇文章来自TechMerger同学的投稿
  • mysql动态ip域名连接_用本地动态IP连接本地mysql

    一个问题已经困扰了我很久的问题今天终于解决了 在用C 连接mysql时 用本地的动态IP加端口号连接本地的数据库mysql real connect conn 192 168 223 128 root mysql Project 3306
  • PCA的数学原理(非常值得阅读)!!!!

    PCA Principal Component Analysis 是一种常用的数据分析方法 PCA通过线性变换将原始数据变换为一组各维度线性无关的表示 可用于提取数据的主要特征分量 常用于高维数据的降维 网上关于PCA的文章有很多 但是大多
  • 统计字符串内某个字符出现的次数

    假如有一个字符串 cabcdasgcjaieyakxhanzgajgaa 我们要统计这个字符串里字符 a 出现的位置以及出现的次数 大致思路 先利用 indexOf 判断出该字符第一次出现的位置 只要其返回结果不等于 1 就继续往后查找 但
  • Linux基础(较全)

    Linux 0 目录 文章目录 Linux 0 目录 1 Linux简介 1 1 Linux是什么 1 2 Linux发行版 1 3 LInux应用领域 1 4 Linux vs Windows 2 Linux 虚拟机 安装 2 1 系统分
  • 数据库表结构设计方法及原则(li)

    数据库设计的三大范式 为了建立冗余较小 结构合理的数据库 设计数据库时必须遵循一定的规则 在关系型数据库中这种规则就称为范式 范式是符合某一种设计要求的总结 要想设计一个结构合理的关系型数据库 必须满足一定的范式 在实际开发中最为常见的设计
  • Java入门

    Java入门 Java 入门 主要内容 Java的地位 Java诞生 Java的特点 安装JDK 简单的Java应用程序 重点与难点 重点 Java平台无关性 Java程序的结构 难点 Java程序的开发过程 Java之父与Java的诞生
  • 探索性数据分析-如何描述业务量数据

    探索性数据分析 如何描述业务量数据 描述业务量的特征 均值 标准差 相关系数 均值代表的是集中趋势 整体的趋势 整体发展方向 整体水平 标准差代表的是离中趋势 描述事物的波动程度 在一定程度上也代表着风险 相关系数代表的是相关分析 代表的是
  • 刷脸支付有深度整合垂直领域的商业价值

    移动支付和银行卡支付没有办法确定使用者到底是谁 因为可以和家人等共同使用 刷脸支付可以确定消费实体是谁 定位到具体人确定数据标签 新零售从业者认为 刷脸支付除了提供更便捷的支付服务外 还可以提供更多的商业数据用于精细化经营 从垂直领域来看
  • 从Qt5的改变看最佳头文件包含风格?QT5找不到#include头文件在哪里

    老版本 C C code 1 2 include
  • Polkit权限提升漏洞(CVE-2021-4034)利用及修复

    Polkit本地权限提升漏洞 CVE 2021 4034 利用及修复 文章目录 Polkit本地权限提升漏洞 CVE 2021 4034 利用及修复 漏洞说明 危害等级 影响版本 修复版本 漏洞利用 漏洞修复 升级polkit版本 临时修复
  • WebSocket协议状态码1005: 理解、应用与解决方案

    WebSocket协议状态码1005 理解 应用与解决方案 引言 WebSocket协议是一种在Web应用程序中实现双向通信的协议 与传统的HTTP协议不同 WebSocket协议允许服务器主动向客户端推送数据 而不需要客户端发送请求 在W
  • TypeScript 元组类型

    TypeScript 语言中 数组中的元素一般只能是由相同数据类型组成 any 除外 如果我们想要存储不同类型的元素 则可以使用元组 TypeScript 中的元组 Tuple 从外形上来看和数组相差不多 但是元组中允许存储不同类型的元素