推荐答案
TypeScript 中的元组 (Tuple) 类型允许你表示一个已知元素数量和类型的数组,各元素的类型不必相同。元组类型在需要表示固定数量和类型的元素时非常有用。
let myTuple: [string, number]; myTuple = ["hello", 10]; // 正确 myTuple = [10, "hello"]; // 错误,类型不匹配
本题详细解读
元组的基本概念
元组是 TypeScript 中一种特殊的数组类型,它允许你定义一个固定长度和类型的数组。与普通数组不同,元组中的每个元素可以有不同的类型。
let myTuple: [string, number];
在这个例子中,myTuple
是一个元组,它有两个元素,第一个元素是 string
类型,第二个元素是 number
类型。
元组的初始化
元组的初始化必须严格按照定义的类型顺序进行,否则会引发类型错误。
myTuple = ["hello", 10]; // 正确 myTuple = [10, "hello"]; // 错误,类型不匹配
元组的访问
你可以通过索引访问元组中的元素,索引从 0 开始。
console.log(myTuple[0]); // 输出: hello console.log(myTuple[1]); // 输出: 10
元组的可选元素
TypeScript 还支持在元组中使用可选元素,通过在类型后面加上 ?
来表示该元素是可选的。
let optionalTuple: [string, number?]; optionalTuple = ["hello"]; // 正确,第二个元素是可选的 optionalTuple = ["hello", 10]; // 正确
元组的剩余元素
元组还支持剩余元素,允许你在元组中定义不确定数量的元素。
let restTuple: [string, ...number[]]; restTuple = ["hello", 1, 2, 3]; // 正确
元组的应用场景
元组通常用于处理函数返回多个值的情况,或者在某些需要固定类型和数量的数据结构中使用。
function getTuple(): [string, number] { return ["hello", 10]; } let [str, num] = getTuple(); console.log(str); // 输出: hello console.log(num); // 输出: 10
通过元组,你可以更精确地定义数组的结构,从而提高代码的可读性和类型安全性。