首页 > 解决方案 > 通用联合类型与等效的直接联合类型推断不同

问题描述

考虑以下:

type UnwrapNullable1 = Required<{ x?: (1 | undefined) }>["x"]
type UnwrapNullable<T> = Required<{ x?: T }>["x"]
type Test = UnwrapNullable<1 | undefined>

类型UnwrapNullable1被正确推断为1,但应该等效于UnwrapNullable1的Test被推断为。1 | undefined

这是打字稿的限制还是某种错误?

标签: typescriptgenericstype-inferenceunion-types

解决方案


推荐阅读