如何解决Typescript中的“命名或标记的元组”是什么?
阅读Typescript 4.0中的更改后,我发现了新功能:
标签元组元素
我认为元素可以通过数字(例如在元组和列表中)或通过键(例如在字典中)进行索引。我不希望它们会同时被索引。
我的问题是:
- 为什么/何时应该使用命名元组而不是普通元组?
解决方法
这纯粹是出于文档目的,没有语义。它们只是将名称放入类型签名中的一种方法-它们的类型检查与不带名称的元组相同,并且运行时行为也相同。
虽然它们对类型检查没有影响,但元组位置上缺少标签会使它们更难使用,也难以传达我们的意图。
添加了重点。
每当要记录元组中元素的名称在使用它们的函数的类型签名中时,请使用它们。
示例
您可能有Range
类型,即[start,end]
:
type Range = [start: number,end: number];
或者您的Range
类型可能是[start,length]
:
type Range = [start: number,length: number];
或者您可以使用未命名的元组:
type Range = [number,number];
就TypeScript而言,这三个定义具有相同的语义。您可以通过数组访问(例如arr[0]
)来解构来访问成员,就像其他数组一样,它们并不特殊。您不能再通过名称访问元素...,这些只是普通的JavaScript数组对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。