类型化数组
元组(Tuple)是一个类型化数组,每个索引都有预定义的长度和类型。
元组很好,因为它们允许数组中的每个元素都是已知类型的值。
要定义元组,请指定数组中每个元素的类型:
// 定义元组
let ourTuple: [number, boolean, string]
// 正确初始化
ourTuple = [6, false, 'I.O']
正如你所看到的,我们有一个数字,布尔值和一个字符串。但如果我们试图将它们设置为错误的顺序会发生什么:
let ourTuple: [number, boolean, string]
// 初始化错误会引发错误
ourTuple = [false, 'I.O', 6]
即使我们有一个 boolean
、string
和 `number,但顺序在元组中很重要,并且会抛出一个错误。
只读元组
一个好的做法是将元组设置为 readonly
。
元组仅具有用于初始值的强定义类型:
let ourTuple: [number, boolean, string] = [6, false, 'I.O']
// 索引 3 的元组中没有类型安全性
ourTuple.push('O.O')
console.log(ourTuple) // [6, false,