首页 > 解决方案 > 为什么这两个 FlatArray 的定义不等价?

问题描述

我不明白为什么这两种数组展平类型不等效:

type FlatArray1<T> = Array<T extends Array<infer U> ? U : T>
type FlatArray2<T> = T extends Array<infer U> ? Array<U> : Array<T>

type A = FlatArray1<boolean> // boolean[]
type B = FlatArray2<boolean> // false[] | true[]

链接到游乐场

谢谢你的帮助。

标签: typescript

解决方案


推荐阅读