Controllo di esaustività
Il controllo di esaustività è una funzionalità di TypeScript che garantisce che tutti i possibili casi di unione discriminata vengano gestiti in un’istruzione switch o in un’istruzione if.
type Direction = 'up' | 'down';
const move = (direction: Direction) => { switch (direction) { case 'up': console.log("Spostamento verso l'alto"); break; case 'down': console.log('Spostamento verso il basso'); break; default: const exhaustiveCheck: never = direction; console.log(exhaustiveCheck); // Questa riga non verrà mai eseguita }};Il tipo never viene utilizzato per garantire che il caso predefinito sia esaustivo e che TypeScript generi un errore se un nuovo valore viene aggiunto al tipo Direction senza essere gestito nell’istruzione switch.