跳到主要内容

TypeScript 元组

摘要:在本教程中,你将了解 TypeScript 元组类型及其用法。

TypeScript 元组类型简介

元组的工作方式类似于数组,但有一些额外的注意事项:

  • 元组中的元素数量是固定的。
  • 元素的类型是已知的,并且不必相同。

例如,你可以使用元组将数值表示为一对字符串和数字:

let skill: [string, number];
skill = ['Programming', 5];

元组中值的顺序很重要。如果将 skill 元组的值的顺序更改为[5,"Programming"],则会出现错误:

let skill: [string, number];
skill = [5, 'Programming'];

报错:

error TS2322: Type 'string' is not assignable to type 'number'.

因此,最好把元组应用于相互之间按照指定顺序排列的数据。

例如,你可以使用元组来定义始终采用三位数模式的 RGB 颜色:

(r,g,b)

例如:

let color: [number, number, number] = [255, 0, 0];

color[0]color[1]color[2] 分别映射为 RedGreenBlue 颜色值。

可选元组元素

从 TypeScript 3.0 开始,元组可以含有使用问号 (?) 后缀指定的可选元素。

例如,你可以使用可选的 Alpha 通道值来定义 RGBA 元组:

let bgColor, headerColor: [number, number, number, number?];
bgColor = [0, 255, 255, 0.5];
headerColor = [0, 255, 255];

请注意,RGBA 使用红色、绿色、蓝色和 alpha 模型定义颜色。 Alpha 指定颜色的不透明度。

概括

  • 元组是一个具有固定数量且类型已知的元素的数组。