Pular para o conteúdo

O tipo never

Quando uma variável é estreitada para um tipo que não pode conter nenhum valor, o compilador TypeScript inferirá que a variável deve ser do tipo never. Isso ocorre porque o Tipo Never representa um valor que nunca pode ser produzido.

const printValue = (val: string | number) => {
if (typeof val === 'string') {
console.log(val.toUpperCase());
} else if (typeof val === 'number') {
console.log(val.toFixed(2));
} else {
// val tem o tipo never aqui porque nunca pode ser nada além de uma string ou um número
const neverVal: never = val;
console.log(`Valor inesperado: ${neverVal}`);
}
};