TypeScript · Senior · Frage 5 von 75
Warum ergibt type IsNever<T> = T extends never ? true : false für IsNever<never> den Typ never?
- 1
neverist in bedingten Typen immer dem Literalfalsezuweisbar - 2
neverist eine leere Union, und die Verteilung darüber ergibt ein leeres Ergebnis - 3Das ist ein Compiler-Fehler, deshalb lässt sich
nevergar nicht prüfen
Antwort zeigen
Richtige Antwort: never ist eine leere Union, und die Verteilung darüber ergibt ein leeres Ergebnis
Erklärung
Ein distributiver bedingter Typ wird auf jedes Mitglied der Union angewendet, und never hat keine Mitglieder - das Ergebnis ist never. Die richtige Prüfung ist [T] extends [never] ? true : false.