📜  ts 中具有多种类型的数组 (1)

📅  最后修改于: 2023-12-03 15:05:37.979000             🧑  作者: Mango

TypeScript 中具有多种类型的数组

在 TypeScript 中,有着许多种不同类型的数组。下面将介绍其中的几种。

数组类型

数组类型是最常见的类型之一。在 TypeScript 中,数组类型可表示为以下两种形式之一:

// 方式 1
let arr1: Type[] = [];

// 方式 2
let arr2: Array<Type> = [];

其中 Type 为数组所包含的元素类型。例如,要创建一个包含数字的数组,可以将 Type 设置为 number

let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];
元组类型

元组类型是 TypeScript 中一个比较特殊的数组类型。与普通数组不同,元组类型具有固定的长度和每个元素的类型。可以使用以下方式定义元组类型:

let tuple: [Type1, Type2, ..., TypeN];

例如,要定义一个包含一个字符串和一个数字的元组,可以这样写:

let tuple: [string, number] = ['hello', 123];

可以通过以下方式访问元组中的元素:

console.log(tuple[0]); // 输出 'hello'
console.log(tuple[1]); // 输出 123
类型别名

类型别名是将一个类型命名为另一个名称的方法。可以使用类型别名来方便地定义复杂的数组类型。以下是一个例子:

type MyArray = Array<number | string>;

let arr: MyArray = [1, 'hello', 2, 'world'];

这个例子中,MyArray 是一个类型别名,它代表一个数组,该数组可以包含数字或字符串。

ReadonlyArray

ReadonlyArray 是一个只读的数组类型。它继承自普通数组,但不允许对其进行修改。以下是一个例子:

let numbers: ReadonlyArray<number> = [1, 2, 3];

// 错误:不能修改只读数组
numbers[0] = 4;
总结

在 TypeScript 中,有许多种不同类型的数组。这使得在编写代码时非常方便,并且使得代码更加可读。其中一些类型包括标准的数组类型,元组类型,类型别名和 ReadonlyArray 类型。需要根据具体的情况选择最合适的类型。