什么是元组?:元组就是数组的变种,是固定数量不同类型的元素的组合。
元组与集合的不同之处在于,元组中的元素类型可以是不同的且数量固定。它的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,就可以把这多个值作为元组返回。
let arr: [number, string, boolean] = [1, "1", true];
//加上readonly就变为只读属性
let arr2: readonly [number, string, boolean] = [1, "1", true];
arr2[0] = 2; //无法为“0”赋值,因为它是只读属性
arr2.push(1); //类型“readonly [number, string, boolean]”上不存在属性“push”。
//元组类型可以支持自定义名称和变为可选的
let a: [x: number, y: number, z?: number] = [1, 2];
let b: [x: number, y: number, z?: number] = [1, 2, 3];
//一个使用场景,描述excel
let excel: [string, string, number][] = [
["李四", "男", 16],
["李四", "男", 16],
["李四", "男", 16],
];
//使用typeof获取元组的类型
const arr3: readonly [number, string, boolean] = [1, "1", true];
//获取元组第一个元素的类型
type first = (typeof arr3)[0];
//获取元组的长度
type length = (typeof arr3)["length"];