我们在 redux-starter-kit 中遇到了一个问题,其中库的用户禁用了 strictNullChecks,并且我们的类型测试之一是短路,返回不同情况的类型。
此测试应返回 True-Parameter 或 False-Parameter,具体取决于 P 参数是否包含 undefined。
这是当前代码:
type IfMaybeUndefined<P, True, False> = [undefined] extends [P] ? True : False;
所以我希望这两个都返回“是”:
IfMayBeUndefined<number, "no", "yes">
IfMayBeUndefined<number|undefined, "yes", "no">
现在我问自己是否有另一种方法来测试它,即使使用 strictNullChecks: false