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 Lessons
#1
Configurar TypeScript y entender el compilador
#2
Unions + narrowing: manejar estados sin bugs
#3
Zod: validar inputs y derivar tipos
#4
Modelar un dominio: tareas con estados
#5
Tipos primitivos, arrays y objetos (sin dolor)
#6
Interfaces vs types: reglas simples
#7
Errores sin caos: Result<T> y mensajes utiles
#8
Endpoints: crear, listar, actualizar estado
#9
Funciones tipadas + inferencia: el combo ganador
#10
Generics en la practica (lo justo)
#11
Tipos en APIs: Express + Zod + contratos
#12
Refactor seguro: cambia el modelo sin romper
#13
Quiz: Fundamentos de TypeScript
Ver full lessons
Revisar curso learning pagina