¿Ya dominas lo básico? Un curso estructurado de TypeScript es la vía rápida para dar el salto.
Ver cursos de TypeScript en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (console.log)
- 03Variables y anotaciones de tipo (number/string/boolean)
- 04Tipos de array
- 05Tipos en funciones (parámetros y valor devuelto)
- 06Parámetros opcionales y valores por defecto
- 07Interfaces (interface)
- 08Propiedades opcionales (?)
- 09Alias de tipo (type)
- 10Tipos unión
- 11Tipos literales
- 12enum (tipos enumerados)
- 13Clases y tipos
- 14Herencia (extends) e implementar una interfaz (implements)
- 15Genéricos (<T>)
- 16Tipos tupla
- 17Los tipos any y unknown
- 18Aserciones de tipo (as)
- 19El modificador readonly
- 20[Aplicado] Construye un mini sistema de inventario
Genéricos (<T>)
En esta lección escribirás una función que funciona con cualquier tipo sin perder la información de cuál es.
La T entre ángulos es un parámetro de tipo: un hueco que se rellena al llamar. firstItem<number>([10, 20]) hace que T sea number, y por tanto el valor devuelto también lo es.
El código de ejemplo usa la misma función con un array de números y otro de textos, y en cada caso el tipo del resultado es el correcto. Normalmente ni siquiera hace falta escribir <number>: TypeScript lo deduce del argumento.
La alternativa perezosa es usar any, que también «funciona» pero tira toda la información de tipo. Los genéricos existen precisamente para ser flexibles sin renunciar a los tipos.
En proyectos reales, los genéricos están por todas partes aunque no los escribas: Array<T>, Promise<T> y las funciones de las librerías son genéricas. Entenderlos hace que dejen de parecer magia.
🧪 Este sitio no puede compilar ni ejecutar TypeScript directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
