TypeScript 中的数组定义

Array definitions in TypeScript

以下声明有什么区别:

  1. var num1: [number];
  2. var num2: number[];
  3. var num3: Array<number>;

好像num2num3可以互换,但是num1呢?

什么时候应该使用哪个声明?

1 是元组类型,因此在这种情况下 num1 必须是包含数字的 1 元素数组。如果将其声明为 var num1: [number, string, string];,则 num1 必须是一个 3 元素数组,其中依次包含一个数字、一个字符串和另一个字符串。

2和3相同;使用哪一个都没有关系。