【问题标题】:Understanding result of indexed access types and extends了解索引访问类型和扩展的结果
【发布时间】:2022-11-20 19:25:40
【问题描述】:

extends 关键字结合使用时,索引访问类型如何工作?

我无法解释为什么关注 false 的结果是:

type Test<T extends readonly any[]> =  T[number] extends true ? true: false
type R = Test<[true,true,false]>

结果:

false

【问题讨论】:

    标签: typescript


    【解决方案1】:

    让我们一步一步地完成这个过程。

    如果T[true,true,false]T[number] 将评估为true | true | false。 TypeScript 方便地将这个并集分解为 boolean

    boolean确实不是扩展 true,因此条件计算结果为返回 false 的假分支。


    您可能假设联合会是 distributed 在有条件的情况下。但是 T[number] 不是裸泛型。没有分配发生。

    【讨论】:

      猜你喜欢
      • 2012-02-19
      • 2020-10-09
      • 1970-01-01
      • 2021-11-20
      • 2022-01-05
      • 2022-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多