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]
分别映射为 Red
, Green
和 Blue
颜色值。
可选元组元素
从 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 指定颜色的不透明度。
概括
- 元组是一个具有固定数量且类型已知的元素的数组。