TypeScript 之 元组(tuple)和 可变元组

264 阅读1分钟

满足以下三点的数组就是元组

(1) 在定义时每个元素的类型都确定

(2) 元素值的数据类型必须是当前元素定义的类型

(3) 元素值的个数必须和定义时个数相同

let salary:[string, number,number,number,number] = ['string', 1000,2000,3000,4000];

元组的固定特点很明显,同时也是它的缺点。因为在某些时候我们需要灵活运用。

可变元组

// 元组因为个数不同,这里的变量会报错。
let salary:[string, number ] = ['王五', 23, 'xx市xx路xx号', '13311111111'];

// 可变元组
let salary:[string, number, ...any[] ] = ['王五', 23, 'xx市xx路xx号', '13311111111'];

// 可变元组解构
let [custname, age,  ...rest]: [custname_: string, age_: number, ...rest: any[]] = ['王五', 23, 'xx市xx路xx号', '13311111111'];

console.log('rest:' rest); // ['xx市xx路xx号', '13311111111']