元组从外形上看和数组类型,都是[]构成。
例如:
const tupleDemo1: [string, number]= ['hello,tuple', 123];
上面的代码就是创建了一个元组,和数组相同,通过[]来创建,但是在[]中需要指定元素的类型,同时,在[]中什么位置上指定了什么类型的数据,那么在初始化的时候就必须保证一致,否则会报错。
例如:
let tupleDemo2: [string, number];
tupleDemo2 = ['hello', 123]; // 正确
// tupleDemo2 = [123, 'aaa']; // 错误
在初始化元组的时候还有一个问题,就是元组的长度是固定的,比如,上面的代码中tupleDemo2长度是2,那么如果向其中插入超过长度的值,就会出现异常。
但是使用push()方法可以突破限制,但是也仅仅允许向其中插入定义时设置的类型。
tupleDemo2.push('aaa');
tupleDemo2.push(123);
tupleDemo2.push(true); // type error
