Generics
Generics te permiten reutilizar tipos sin perder seguridad. Aprende 3 patrones que aparecen todo el tiempo.
Conceptos clave
- Generic functions <T>
- Constraints: <T extends ...>
- Generics para colecciones y helpers
Ejemplo
function first<T>(items: T[]): T | null {
return items.length ? items[0] : null;
}
type WithId = { id: string };
function byId<T extends WithId>(items: T[], id: string): T | null {
return items.find((i) => i.id === id) ?? null;
}
Ejercicio
- Escribe un helper groupBy<T>(items, keyFn).
- Agrega constraint para exigir key string.
Checklist de mastery
- Se escribir un generic simple sin over-engineering.
- Se usar extends para constraints.
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.