У нас была проблема в redux-starter-kit, когда у пользователя библиотеки были отключены strictNullChecks, и один из наших тестов типов был коротким, возвращая типы для другого случая.
Этот тест должен возвращатьсяTrue-Parameter или False-Parameter в зависимости от того, содержит ли параметр P неопределенное значение или нет.
Это текущий код:
type IfMaybeUndefined<P, True, False> = [undefined] extends [P] ? True : False;
Так что я ожидаю, что оба из них вернутся"yes":
IfMayBeUndefined<number, "no", "yes">
IfMayBeUndefined<number|undefined, "yes", "no">
Теперь я спрашиваю себя, есть ли другой способ проверить это, даже при строгом проверке NullChecks: false