Narrowing por control flow
TypeScript refina tipos según ramas de ejecución; entenderlo te permite escribir condicionales más seguros.
Checks con typeof, in, instanceof y comparaciones discriminantes son herramientas base para estrechar tipos.
Cuando una rama valida correctamente, dentro de ella puedes trabajar con propiedades específicas sin as.
Estructurar condicionales por intención (primero casos inválidos, luego válidos) mejora legibilidad y typing.