gpt4 book ai didi

typescript - typescript 中的 “named or labeled tuples” 是什么?

转载 作者:行者123 更新时间:2023-12-03 23:34:02 24 4
gpt4 key购买 nike

阅读Typescript 4.0中的变化,我发现了新功能:

Labeled Tuple Elements


我认为元素可以由数字(如元组和列表)或键(如字典)索引。我不希望它们可以双向索引。
我的问题是:
  • 为什么/何时应该使用命名元组而不是普通元组?
  • 最佳答案

    这纯粹是为了文档目的,它没有语义。它们只是在类型签名中放置名称的一种方式——它们对没有名称的元组进行类型检查,并且运行时行为也相同。

    While these have no impact on type-checking, the lack of labels on tuple positions can make them harder to use – harder to communicate our intent.


    加了重点。
    每当您想记录元组中元素的名称在使用它们的函数的类型签名中的名称时,请使用它们。
    例子
    您可能有一个 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 数组对象。

    关于typescript - typescript 中的 “named or labeled tuples” 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63629315/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com