Datový typ never
Když je proměnná zúžena na typ, který nemůže obsahovat žádné hodnoty, kompilátor TypeScriptu odvodí, že proměnná musí být typu never. Je to proto, že typ never představuje hodnotu, která nikdy nemůže vzniknout.
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 má zde typ never, protože nemůže být ničím jiným než řetězcem nebo číslem const neverVal: never = val; console.log(`Unexpected value: ${neverVal}`); }};