乐闻世界logo
搜索文章和话题

How can you define an array with a specific type in TypeScript?

2 个月前提问
2 个月前修改
浏览次数19

1个答案

1

在TypeScript中定义具有特定类型的数组可以通过两种主要方式实现:一种是使用类型后跟方括号[]的语法,另一种是使用泛型数组类型Array<元素类型>

1. 方括号表示法

当你想要定义一个类型为number的数组时,可以如下定义:

typescript
let numbers: number[] = [1, 2, 3, 4];

这表示变量numbers是一个数组,数组中的每一项都必须是number类型。尝试将非number类型的值添加到这个数组中将会导致编译时错误。

例如,以下代码会产生错误:

typescript
numbers.push("5"); // 错误!字符串"5"不是number类型。

2. 泛型数组类型

泛型数组类型Array<元素类型>能提供同样的功能,但使用的是不同的语法。使用泛型类型定义同样的number数组如下:

typescript
let numbers: Array<number> = [1, 2, 3, 4];

这同样确保了数组中的所有元素均为number类型。同样地,如果尝试添加不符合类型的元素,TypeScript 编译器也会报错:

typescript
numbers.push("5"); // 错误!

示例应用

假设我们正在开发一个功能,需要存储和处理用户的年龄信息。在这种情况下,我们可以使用一个number类型的数组来安全地存储这些数据,并便于后续的数据处理,比如计算平均年龄等:

typescript
function calculateAverageAge(ages: number[]): number { const total = ages.reduce((acc, age) => acc + age, 0); return total / ages.length; } let userAges: number[] = [25, 32, 40, 29, 21]; let averageAge = calculateAverageAge(userAges); console.log(`Average Age is: ${averageAge}`); // 输出平均年龄

在这个例子中,我们定义了一个number[]类型的数组userAges来存储年龄数据,然后定义了一个函数calculateAverageAge来计算平均年龄。这种类型的明确声明不仅有助于防止错误,例如意外地插入非数字类型的数据,还能增强代码的可读性和可维护性。

2024年7月29日 13:58 回复

你的答案