Narrowing é como TypeScript refina um tipo amplo (como uma união) para um tipo mais específico dentro de uma ramificação de código, com base em verificações de tempo de execução. O compilador rastreia o fluxo de controle e atualiza o tipo adequadamente.
ts
() {
( x === ) {
x.();
} {
x.();
}
}
