【TypeScript】元组

news2024/10/5 14:12:57

元组(Tuple)是 TypeScript 中的一种特殊数据类型,它允许你定义一个固定数量和类型的元素组合。元组可以包含不同类型的数据,每个数据的类型在元组中都是固定的。以下是 TypeScript 中元组的基本用法和特点:

// 声明一个元组
let person: [string, number, boolean];
person = ['Alice', 25, true];

console.log(person[0]); // 输出:Alice
console.log(person[1]); // 输出:25

// 错误示例,访问超出索引范围的元素
// console.log(person[3]); // 错误:Tuple type '[string, number, boolean]' of length '3' has no element at index '3'.

// 错误示例,类型不匹配
// person = ['Bob', '30', false]; // 错误:Type 'string' is not assignable to type 'number'.

const arr: readonly [number, boolean] = [1,true];
// readonly 设置为只读,以下都不可以修改
// arr[0] = 666 
// arr.push(1)
// 如果只是用 const 修饰 arr,则 arr 不可以修改,arr[0] 等可以修改

也可以起变量名:
在这里插入图片描述

元组的特点:

  1. 元组可以包含多种不同类型的数据,但每个数据的类型是固定的,按照声明的顺序排列。

  2. 元组的长度是固定的,一旦声明,就不能改变。你不能往元组中添加或删除元素。

  3. 可以通过索引来访问元组中的元素,索引从 0 开始。

  4. 元组的类型根据声明时的类型推断来确定,可以在声明时明确指定类型。

  5. 如果访问超出了元组的索引范围,TypeScript 将会报错。

typetypeof 的用法:

const arr: readonly [x:number, y:boolean] = [1,false];

// type first = number
type first = typeof arr[0] 
 // type len = 2
type len = typeof arr['length']

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

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

相关文章

Win系统下安装Linux双系统教程

软件下载 软件:Linux版本:18.0.4语言:简体中文大小:1.82G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①丨百度网盘:1.ubuntu18.0.4下载链接&#xf…

量子计算对信息安全的影响:探讨量子计算技术对现有加密方法和信息安全基础设施可能带来的颠覆性影响,以及应对策略

第一章:引言 随着科技的迅猛发展,量子计算作为一项颠覆性的技术正逐渐走入我们的视野。量子计算以其强大的计算能力引发了全球科技界的广泛关注。然而,正如硬币的两面,量子计算技术所带来的不仅仅是计算能力的巨大飞跃&#xff0…

公文校对的艺术:如何确保你的正式文件零错误?

公文是政府和企业中最重要的正式文件之一。一个小小的错误,不仅会影响公文的专业性,甚至可能带来法律和经济后果。因此,如何进行精准的公文校对成为了一门必不可少的技能。接下来,我们将分享一些专业的公文校对技巧,并…

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中,但如果写在类中,类名需要是Test开头,非Test开头的类下的test_方法不会被搜集为用…

通过Matlab编程分析微分方程、SS模型、TF模型、ZPK模型的关系

微分方程、SS模型、TF模型、ZPK模型的关系 一、Matlab编程 微分方程、SS模型、TF模型、ZPK模型的关系二、对系统输出进行微分计算三、对系统输出进行积分计算四、总结五、系统的零点与极点的物理意义参考 :[https://www.zhihu.com/question/22031360/answer/3073452…

HCIP---VLAN实验(接入、中继、混杂)

实验要求 PC1/3的接口均为access模式,且属于van2,在同一网段 PC2/4/5/6的IP地址在同一网段,与PC1/3不在同一网段 PC2可以访问4/5/6,PC4不能访问5/6,PC5不能访问PC6 所有PC通过DHCP获取ip地址,PC1/3可以访问…

XXX程序 详细说明

用于记录理解PC程序的程序逻辑 1、程序的作用 根据原作者的说明(文件说明.txt),该程序 (PC.py) 的主要作用是提取某一个文件夹中的某个设备 (通过config中的信息看出来是Ag_T_8) 产生的日志文件,然后提取其中某些需要的数据&…

Python爬虫(十四)_BeautifulSoup4 解析器

CSS选择器:BeautifulSoup4 和lxml一样,Beautiful Soup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据。 lxml只会局部遍历,而Beautiful Soup是基于HTML DOM的,会载入整个文档,解析整…

智能硬件知识

第二章 第五章 第六章 第七章 第八章 第九章 第十章 考点 条件编译 volatile、static、 union、 struct、 const指针 堆与栈的不同点 3.功能模块应用题 (1) GPIO 的应用:流水灯的电路及软件编码、驱动数码管的电路及编码。 (2)外部中断的应用:电路及回调函数编码。 (3) …

关于数据中心存储智能运维的思考

随着互联网和大数据的快速发展,数据中心存储的重要性也日益凸显。在本文中,将深入探讨数据中心存储智能运维的历史变迁、当前的发展状态和未来的运维趋势。 数据中心存储运维的历史变迁可以分为以下几个阶段: 人工运维阶段 最初&#xff0c…

深度学习基本理论上篇:(MLP/激活函数/softmax/损失函数/梯度/梯度下降/学习率/反向传播)、深度学习面试

1、MLP、FCN、DNN三者的关系? 多层感知器MLP,全连接网络,DNN三者的关系?三者是不是同一个概念? FCN:Fully Connected Neural Network,全连接神经网络,也称为密集连接神经网络&#…

前端开发怎么解决前端安全性的问题? - 易智编译EaseEditing

前端安全性是保护前端应用程序免受恶意攻击和数据泄露的重要方面。以下是一些解决前端安全性问题的关键方法: 输入验证与过滤: 对所有用户输入进行验证和过滤,防止恶意用户通过注入攻击等手段破坏应用程序或获取敏感信息。 跨站点脚本&#…

Android笔记:在原生App中嵌入Flutter

首先有一个可以运行的原生项目 第一步:新建Flutter module Terminal进入到项目根目录,执行flutter create -t module ‘module名字’例如:flutter create -t module flutter-native 执行完毕,就会发现项目目录下生成了一个modu…

【核磁共振成像】单射成像和高速脉冲序列

目录 一、提高成像速度的手段二、平面回波成像(EPI)序列三、常用或基本EPI序列四、EPI变型序列五、渐开平面螺旋(spiral)扫描序列六、RARE序列七、GRASE序列八、STEAM序列 一、提高成像速度的手段 MRI扫描时间可表示为   其中Nex为激发次数,NpE1和NpE2是两个相位…

kubernetes--技术文档-真--集群搭建-三台服务器一主二从(非高可用)附属文档-使用不同运行商服务器-搭建公网集群

!!!!!版本!!!! 使用公网初始化 Kubernetes 需要 Kubernetes 版本 1.19 或更高版本。在早期的版本中,Kubernetes 还不支持公网初始化。因此,请确保…

【C++】visualstudio环境安装

记录了部分安装步骤,可能有点不全,参考下,需要的磁盘空间差不多20GB; 下载 https://visualstudio.microsoft.com/zh-hans/vs/ 下载完成: 双击进入安装状态: 根据自己的需求勾选安装项: 选择…

RNN+LSTM正弦sin信号预测 完整代码数据视频教程

视频讲解:RNN+LSTM正弦sin信号预测_哔哩哔哩_bilibili 效果演示: 数据展示: 完整代码: import torch import torch.nn as nn import torch.optim as optim import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn.preprocessing import…

使用Locust进行接口性能测试:安装、命令参数解析与示例解读

“ Locust是一款开源的Python性能测试工具,它可以模拟大量并发用户对网站或者其他接口进行压力测试 一、Locust简介与安装 1. 使用pip安装Locust: pip3 install locust2. 通过GitHub克隆项目并安装(推荐Python 3): …

常见js中判断== true/false总结

常见js中判断为true/false总结 false 0 输出true;因为在做判断的时候,两者中有boolean(布尔类型),会把boolean先转化为number(数字类型),false为0,true是1。也就是等价于…

二、10.文件系统

硬盘是低速设备,其读写单位是扇区,为了避免频繁访问硬盘,操作系统不会有了一扇区数据就去读写一次磁盘,往往等数据积攒到“足够大小”时才一次性访问硬盘,这足够大小的数据就是块,硬盘读写单位是扇区&#…