【阮一峰】2.数组
- 互联网
- 2025-08-22 15:51:02

数组 简介
所有成员的类型必须相同,但是成员数量是不确定的。
由于成员数量可以动态变化,所以 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], ];