当前位置: 首页 > news >正文

【阮一峰】2.数组

数组

简介

所有成员的类型必须相同,但是成员数量是不确定的。

由于成员数量可以动态变化,所以 TypeScript 不会对数组边界进行检查,越界访问数组并不会报错。

第一种写法:

let arr: (number | string)[];

第二种写法:

let arr: Array<number | string>;

TypeScript 允许使用方括号读取数组成员的类型。

type Names = string[];
type Name = Names[0]; // string

type Names = string[];
type Name = Names[number]; // string

数组类型推断

如果变量的初始值为空数组,随着元素的加入,Typescript 会自动修改推断的数组类型。

只读数组

TypeScript 允许声明只读数组,方法是在数组类型前面加上 readonly 关键字。

const arr: readonly number[] = [0, 1];

TypeScript 将 readonly number[]number[]视为两种不一样的类型,数组是只读数组的子类型。

readonly 关键字不能与数组的泛型写法一起使用。

TypeScript 提供了两个专门的泛型,用来生成只读数组的类型。

const a1: ReadonlyArray<number> = [0, 1];
const a2: Readonly<number[]> = [0, 1];

只读数组还有一种声明方法,就是使用“const 断言”。

const arr = [0, 1] as const;

多维数组

TypeScript 使用 T[][]的形式,表示二维数组,T 是最底层数组成员的类型。

var multi: number[][] = [[1, 2, 3],[23, 24, 25],
];
http://www.lryc.cn/news/539357.html

相关文章:

  • DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)
  • 【Java Card】Applet 使用Shareable进行数据分享以及部分问题处理
  • 国产FPGA开发板选择
  • com.typesafe.config
  • Ubuntu学习备忘
  • 【C++】— 掌握STL vector 类:“Vector简介:动态数组的高效应用”
  • Docker__持续更新......
  • 【R语言】主成分分析与因子分析
  • ROS-相机话题-获取图像-颜色目标识别与定位-目标跟随-人脸检测
  • STM32 如何使用DMA和获取ADC
  • 【JAVA实战】JAVA实现Excel模板下载并填充模板下拉选项数据
  • java面试笔记(一)
  • 【C++】36.C++IO流
  • Qt5开发入门指南:从零开始掌握跨平台开发
  • Rook-ceph(1.92最新版)
  • 深度学习在蛋白质-蛋白质相互作用(PPI)领域的研究进展(2022-2025)
  • 网络安全学习架构 网络安全架构内容
  • 硕成C语言24
  • 《Stable Diffusion绘画完全指南:从入门到精通的Prompt设计艺术》-配套代码示例
  • Linux下为Intel核显安装OpenCL
  • 用deepseek学大模型04-机器学习建模过程
  • 【ClickHouse】Ubuntu下离线安装ClickHouse数据库并使用DBeaver连接
  • Unity3D实现接入DeepSeek对话
  • 【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析②】
  • 前端新手必看:10 大 UI 组件库全面解析,快速搭建高质量 Web 应用」 「从零开始:Vue 和 React 最受欢迎的 UI 组件库入门指南」 「超实用!PC 端和移动端 UI 组件库推荐与实战
  • 【MySQL高级】17 - MySQL中常用工具
  • 【Linux】Linux 文件系统——有关 inode 不足的案例
  • 计算机视觉:卷积神经网络(CNN)基本概念(二)
  • 【第7章:注意力机制与Transformer模型—7.4 NLP领域的BERT、GPT系列模型】
  • [代码调试]安装Text2Image(stable diffusion)模型环境的踩坑记录