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}`); }};