自学TS-进阶-元组

元组是JavaScript(TypeScript)中的一种数据结构,用于合并不同类型的对象。它源于函数编程语言,例如F#。元组允许你定义特定索引位置的元素类型,如一个包含字符串和数字的元组。在赋值或访问时,TypeScript会确保类型正确。不过,初始化或赋值元组时必须提供所有指定类型的元素。尝试添加不匹配元组定义的元素会导致类型错误。
摘要由CSDN通过智能技术生成

元组

        数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。

        元组起源于函数编程语言(如 F#),这些语言中会频繁使用元组。

简单的例子

        定义一对值分别为stringnumber的元组:

let tom: [string, number] = ['Tom', 25];

        当赋值或访问一个已知索引的元素时,会得到正确的类型:

let tom: [string, number];
tom[0] = 'Tom';
tom[1] = 25;

tom[0].slice(1);
tom[1].toFixed(2);

        也可以只赋值其中一项:

let tom: [string, number];
tom[0] = 'Tom';

        但是当直接对元组类型的变量进行初始化或者赋值的时候,需要提供所有元组类型中指定的项。

let tom: [string, number];
tom = ['Tom', 25];
let tom: [string, number];
tom = ['Tom'];

// Property '1' is missing in type '[string]' but required in type '[string, number]'.
// 属性'1'在类型'[string]'中缺失,但在类型'[string, number]'中需要。

越界的元素

        当添加越界的元素时,它的类型会被限制为元组中每个类型的联合类型:

let tom: [string, number];
tom = ['Tom', 25];
tom.push('male');
tom.push(true);

// Argument of type 'true' is not assignable to parameter of type 'string | number'.
// 类型为'true'的实参不能赋值给类型为'string | number'的形参。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值