元组从外形上看和数组类型,都是[]构成。

    例如:

    1. const tupleDemo1: [string, number]= ['hello,tuple', 123];

    上面的代码就是创建了一个元组,和数组相同,通过[]来创建,但是在[]中需要指定元素的类型,同时,在[]中什么位置上指定了什么类型的数据,那么在初始化的时候就必须保证一致,否则会报错。

    例如:

    let tupleDemo2: [string, number];
    
    tupleDemo2 = ['hello', 123]; // 正确
    
    // tupleDemo2 = [123, 'aaa']; // 错误
    

    在初始化元组的时候还有一个问题,就是元组的长度是固定的,比如,上面的代码中tupleDemo2长度是2,那么如果向其中插入超过长度的值,就会出现异常。
    image.png

    但是使用push()方法可以突破限制,但是也仅仅允许向其中插入定义时设置的类型。

    tupleDemo2.push('aaa');
    tupleDemo2.push(123);
    tupleDemo2.push(true); // type error