美文网首页
(ts-02)元组是什么?

(ts-02)元组是什么?

作者: 一懿一 | 来源:发表于2021-08-27 09:44 被阅读0次

    相对于列表是可以修改值的数据结构,元组是固定长度,不可修改值的数据结构。

    例子

    let x: [string, number];
    x = ['a', 3];
    x = ['a', 'b']; // Type 'string' is not assignable to type 'number'.(2322)
    
    let x: [number, number];
    x = [2, 3];
    const angle1 = Math.atan2(...x); // 会通过,因为元组里确定了长度为2
    
    x.pop();
    const angle2 = Math.atan2(...x); // 还是会通过,但是此时因为x[1]为undefined,angle2为NaN
    console.log(angle2);
    
    // 类型会被限制为元组中每个类型的联合类型,只能添加number类型,boolean编译不通过
    x.push(10); 
    x.push(true); // 错误
    

    相关文章

      网友评论

          本文标题:(ts-02)元组是什么?

          本文链接:https://www.haomeiwen.com/subject/uptmiltx.html