Přeskočit na obsah

Typ never

Typ never představuje hodnoty, které nikdy nenastanou. Používá se k označení funkcí nebo výrazů, které se nikdy nevrátí nebo vyhodí chybu.

Například nekonečná smyčka:

const infiniteLoop = (): never => {
while (true) {
// do something
}
};

Vyhození chyby:

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

Typ never je užitečný pro zajištění typové bezpečnosti a zachycení potenciálních chyb v kódu. V kombinaci s jinými typy a příkazy řízení toku pomáhá TypeScriptu analyzovat a odvozovat přesnější typy, například:

type Direction = 'up' | 'down';
const move = (direction: Direction): void => {
switch (direction) {
case 'up':
// move up
break;
case 'down':
// move down
break;
default:
const exhaustiveCheck: never = direction;
throw new Error(`Unhandled direction: ${exhaustiveCheck}`);
}
};