El Misterio del Type Guard Automático
Dificultad: Fácil TypeScript basic coding
let valor: string | number = "123";
if (typeof valor === "string") {
console.log(valor.toUpperCase());
}
console.log(valor.toUpperCase()); 📥 Inputs:
valor = "123"
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
TypeScript tiene 'type narrowing': dentro del if, sabe que valor es string. ¡Pero fuera del if puede ser string O number, entonces toUpperCase() da error de compilación! El código nunca llega a ejecutarse porque TypeScript lo detecta antes.
¿Compila sin errores o falla en compilación? ¡Comenta tu respuesta! 🔍