1. 元组的定义
数组合并了相同类型的对象,二元组(Tuple)合并了不同类型的对象。
2. 元组的应用
let tom: [string, number];tom[0] = 'Tom';tom[1] = 23;tom[0].split(' ');tom[1].toFixed(2);
但是当直接对元组类型的变量进行初始化或者赋值时,需要提供所有元组类型中指定的项
let t:[string,number] ;//缺少number类型,会被当做[string]元组t = ['tom'] ;//编译错误- error TS2322: Type '[string]' is not assignable to type '[string, number]'.Source has 1 element(s) but target requires 2.//顺序不对,会被当做[number,string]元组t= [24, 't'];//编译错误- error TS2322: Type 'string' is not assignable to type 'number'.
3. 元组中越界的元素
当添加越界元素时,他的类型会被限制为元组中每个类型的联合类型。
let cat : [string,number]cat = ['cat' , 20] ;cat.push('male') ;//会提示错误cat.push(true) ;//编译错误- error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string | number'.
