数组当中可以包含任意类型的数据,当将几个变量放到数组当中时,数组的类型就会发生变化:

    1. let str1: string = 'hello';
    2. let num1: number = 1;
    3. let arr1 = [str1, num1];

    上面代码中,创建了一个数组arr1,然后把str1和num1分别存储到arr1中。此时arr1就变成了一个数组。

    image.png

    如果此时使用数组中的某个元素给一个变量进行赋值,那么数组的值类型就会赋值给这个变量:

    image.png

    如果此时使用as const ,那么这个数组就会变成一个元组。

    image.png

    如果此时再通过数组中的某个元素进行赋值,那么变量的类型就会固定下来,为元组中的元素位置对应的类型。

    let arr1 = [str1, num1] as const;
    
    let demo1 = arr1[0];
    

    image.png

    上面的代码中通过as const 实现了将一个数组变为了元组,除了这种方法以外,还可以使用泛型的写法:

    let arr1 = <const> [str1, num1];
    
    let demo1 = arr1[0];
    

    效果和as const 一致。

    image.png