如何在 TypeScript 中声明固定长度的数组?
你好!我最近开始学习 TypeScript,遇到了一个问题。我需要声明一个始终包含严格确定数量元素的数组——例如,正好 3 个数字。我尝试这样写:
```typescript
let arr: number[3] = [1, 2, 3];
```
但 TypeScript 报错:`'number[3]' refers to a value, but is being used as a type here`。然后我尝试了:
```typescript
let arr: [number, number, number] = [1, 2, 3];
```
这成功了!但我想知道是否有更通用的方法来创建固定长度的数组,例如,对于 100 个元素?手动写 `[number, number, number, ... 100 次]` 太可怕了。
另外,我注意到如果我写:
```typescript
let arr: [number, number, number] = [1, 2, 3];
arr.push(4); // 不报错
```
TypeScript 在添加新元素时没有报错!这难道不违反固定长度的概念吗?如何让数组真正严格固定长度,并且不能添加元素?