Pular para o conteúdo

Tipo never

O tipo never representa valores que nunca ocorrem. É usado para denotar funções ou expressões que nunca retornam ou que lançam um erro.

Por exemplo, um loop infinito:

const infiniteLoop = (): never => {
while (true) {
// faz algo
}
};

Lançando um erro:

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

O tipo never é útil para garantir a segurança de tipos e capturar possíveis erros em seu código. Ele ajuda o TypeScript a analisar e inferir tipos mais precisos quando usado em combinação com outros tipos e instruções de fluxo de controle, por exemplo:

type Direction = 'up' | 'down';
const move = (direction: Direction): void => {
switch (direction) {
case 'up':
// move para cima
break;
case 'down':
// move para baixo
break;
default:
const exhaustiveCheck: never = direction;
throw new Error(`Direção não tratada: ${exhaustiveCheck}`);
}
};