Il restringimento è il modo in cui TypeScript raffina un tipo ampio (come un'unione) a uno più specifico all'interno di un ramo di codice, basandosi su controlli a runtime. Il compilatore traccia il flusso di controllo e aggiorna il tipo di conseguenza.
ts
() {
( x === ) {
x.();
} {
x.();
}
}
