arrays - 固定长度的元组
问题描述
元组中的打字稿允许添加以前使用过的任何类型的额外元素,但我想限制长度。我试过了& { length: 2 }
,但没有帮助:
declare var a: [string, number] & { length: 2 };
a[0] = "1"
a[1] = 2;
a[2] = "3";
a[3] = 4;
分配[2]
和[3]
不产生错误。如何指定相应的类型?
解决方案
使用never
数组 tail 的类型:
declare var a: [string, number, ...never[]];
你会得到
类型“3”不能分配给类型“从不”。
类型“4”不可分配给类型“从不”。
推荐阅读
- terminal - 为什么我不能运行纱线启动?
- c# - Microsoft.SqlServer.Types 是否与 ASP.NET Core 2.2 完全兼容?
- c# - 如何通过桌面/控制台应用程序使用带有不记名令牌的 ASP.NET Web API 2.0
- spring-boot - 未将所有字段从 html 映射到控制器
- html - ":last-child" 和 ":not(:last-child)" 之间的不同行为
- c# - 如何使用 ICommand 在 MVVM 中触发 TextChanged 事件
- android - Android 导航组件活动意图标志
- python - 使用 'or' 运算符处理 dict 中的 KeyError
- python - 基于列值删除行时“列名”的语法无效
- python - nxn 数据帧到矩阵(.as_matrix 将在未来版本中删除)