Przejdź do głównej zawartości

Typ never

Typ never reprezentuje wartości, które nigdy nie występują. Służy do oznaczania funkcji lub wyrażeń, które nigdy nie zwracają wartości albo zgłaszają błąd.

Na przykład nieskończona pętla:

const infiniteLoop = (): never => {
while (true) {
// zrób coś
}
};

Zgłaszanie błędu:

const throwError = (message: string): never => {
throw new Error(message);
};

Typ never jest przydatny do zapewniania bezpieczeństwa typów i wykrywania potencjalnych błędów w kodzie. Pomaga TypeScript analizować i wnioskować bardziej precyzyjne typy, gdy jest używany w połączeniu z innymi typami i instrukcjami przepływu sterowania, na przykład:

type Direction = 'up' | 'down';
const move = (direction: Direction): void => {
switch (direction) {
case 'up':
// przesuń w górę
break;
case 'down':
// przesuń w dół
break;
default:
const exhaustiveCheck: never = direction;
throw new Error(`Unhandled direction: ${exhaustiveCheck}`);
}
};