TypeScript · Senior · Pytanie 5 z 75
Dlaczego type IsNever<T> = T extends never ? true : false daje never dla IsNever<never>?
- ✓Poprawna odpowiedź:
neverto pusta unia, a rozkład po niej daje pusty wynik - 2To błąd kompilatora, więc
neverw ogóle nie da się sprawdzić - 3
neverjest w typach warunkowych zawsze przypisywalne do literałufalse
Wyjaśnienie
Rozdzielny typ warunkowy stosuje się do każdego członu unii, a never nie ma członów - wynikiem jest never. Poprawne sprawdzenie to [T] extends [never] ? true : false.