元组的问题

来源:8-8 【 TS 泛型类应用】通用分页类实现准备:理解DAO

rookie_white

2023-08-16

type RestTupleType = [number, …string[]];
const restTuple: RestTupleType = [666];
restTuple.push(2) // 没有报错,期望是 push只能添加字符串

请问老师这个是正常现象,还是ts的bug?

写回答

1回答

keviny79

2023-08-20

你可以把它理解为 TS 不按元组规定的 “套路出牌“, ts 觉得 元组是一个特殊的数组,当 ts 看到我们拿元组来当数组

来使用时,那么就会忽略 元组中顺序性的特特点。你要元组类型的变量 push 一个值,它只要符合元组中的任何一个类型就会通过编译。

0
0

晋级TypeScript高手,成为抢手的前端开发人才

轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈

871 学习 · 425 问题

查看课程