Skip to content

The never Type

Когато променлива бъде стеснена до тип, който не може да съдържа никакви стойности, компилаторът на TypeScript ще извлече, че променливата трябва да бъде от тип never. Това е така, защото типът never представлява стойност, която никога не може да бъде произведена.

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 има тип never тук, защото не може да бъде нищо друго освен низ или число
const neverVal: never = val;
console.log(`Unexpected value: ${neverVal}`);
}
};