Array数组的声明

TypeScript文档地址:Array 和 Tuple


例子

  1. // 最简单的方法是使用 类型 + 方括号 来表示数组
  2. let arrOfNumber: number[] = [1,2,3] // 意味着这个数组只能放数值
  3. let arrOfString: string[] = ['1','2','3'] // 只能放字符串
  4. arrOfNumber.push(4)

💡 注意:类数组IArguments是不等于数组的。

  1. function test(){
  2. console.log(arguments) // 类数组
  3. // 如果我们把类数组赋值给数组
  4. let arr: any[] = arguments; // 会报错
  5. // 类型“IArguments”缺少类型“any[]”的以下属性:
  6. // pop, push, concat, join 及其他 26 项。
  7. // 因为arguments属于IArguments类型,这是typeScript内置定义好的。
  8. }

Tuple

:::warning 元组的表示和数组非常相似,只不过它将类型写在了里面,这就对每一项起到了限定的作用。
它的本质还是一个数组。 :::

我们在上述的数组中发现,我们的数组只能加入同一种数据类型。 如果想加入多种数据类型怎么办。 答案就是使用Tuple

比如:我有很明确的目标,我希望数组的第一项是数字,第二项是字符串。

例子:

  1. let user: [string,number] = ['chenYongRen', 20]
  2. let user: [string,number] = ['chenYongRen', 20, 300] // 报错
  3. // 源具有 3 个元素,但目标仅允许 2 个
  4. // 少写一项也会报错
  5. // 顺序掉乱也会报错。
  6. // 但是通过push不会,所以使用push方法可以突破这个顺序的限制,但是只能是这里面的类型
  7. user.push(20)
  8. user.push('200')