TypeScript Completo
TypeScript Completo Texto Leccion

Unions + narrowing: manejar estados sin bugs

Unions y narrowing Aprende a modelar estados (loading/success/error) con unions y a usar narrowing para que el compilador te ayude. Conceptos clave Discriminated unions Type guards (in, typeof, custom) Exhaustive checks Ejemplo type Result<T> = | { ok: true; data: T } | { ok: false; error: string }; function parseId(input: string): Result<string> { if (!input.startsWith('u_')) return { ok: false, error: 'invalid id' }; return { ok: true, data: input }; } const r = parseId('u_123'); i
Tiempo de estudio
18 Min

Unions y narrowing


Aprende a modelar estados (loading/success/error) con unions y a usar narrowing para que el compilador te ayude.



Conceptos clave



  • Discriminated unions

  • Type guards (in, typeof, custom)

  • Exhaustive checks



Ejemplo



type Result<T> =
| { ok: true; data: T }
| { ok: false; error: string };

function parseId(input: string): Result<string> {
if (!input.startsWith('u_')) return { ok: false, error: 'invalid id' };
return { ok: true, data: input };
}

const r = parseId('u_123');
if (!r.ok) {
console.error(r.error);
} else {
console.log(r.data);
}


Ejercicio



  • Crea un union para estados de un request: idle/loading/success/error.

  • Usa exhaustive check para garantizar que cubriste todos.



Checklist de mastery



  • Puedo evitar null checks infinitos con unions.

  • Se escribir type guards simples.




Profundizacion laboral


Para usar este tema en un contexto profesional, no alcanza con conocer la definicion. Necesitas reconocer restricciones, elegir una solucion razonable y explicar el criterio. Trabaja siempre con una version pequena del problema antes de pasar a una implementacion grande.


Aplicacion en entrevista o trabajo



  • Describe el problema en una frase clara.

  • Explica que alternativa elegiste y que descartaste.

  • Muestra evidencia: codigo, captura, tabla, prototipo, checklist o documento.

  • Cierra con una mejora futura para demostrar criterio.

Texto Leccion 1/13
Estas viendo
Unions + narrowing: manejar estados sin bugs
Hablar por WhatsAppContactar por WhatsApp