TypeScript de Cero a Experto / Por qué TS
Reto: tipar tu primer módulo con strict
Hora de juntar todo el módulo: vas a tipar un pedazo real de "Mi Bolsillo" —el
mismo del supercurso de JavaScript— con configuración estricta, anotando los
bordes y dejando que TypeScript infiera el resto. Sentirás en carne propia cómo
strict te obliga a manejar el caso que en JS ignorabas… y por qué eso te salva.
Reto
Tipar el módulo de gastos
Qué debes construir
Un módulo de gastos tipado, correcto bajo strict, que al ejecutarse imprima:
Total: 45800
Más caro: Cine (25000)
Buscar 'Bus': Bus por 2800
Buscar 'Taxi': no encontrado
Requisitos:
- Define el tipo de un gasto (nombre
string, valornumber) —lo harás coninterfaceotype, ambos válidos por ahora. calcularTotal(gastos): suma los valores. Anota el parámetro; deja inferir el resto.masCaro(gastos): devuelve el gasto de mayor valor.buscar(gastos, nombre): devuelve el gasto con ese nombre… oundefinedsi no existe. Aquístrictte obligará a que quien lo llame maneje el caso "no encontrado" —justo el punto del módulo.- El "guion" que produce la salida de arriba, manejando el
undefineddebuscarsin que TypeScript se queje.
Reglas
- Anota los BORDES (parámetros); deja que TS infiera variables locales y retornos internos.
- No uses
anypara "callar" a TypeScript: si se queja delundefined, MANÉJALO (ese es el ejercicio). - El código debe correr y dar la salida exacta.
25:00
Cuando estés listo, arranca el reloj.
Qué sigue
Módulo 1 cerrado: sabes por qué TS, cómo montarlo, cómo configurarlo estricto y
cuándo anotar. Ahora, el vocabulario. El módulo 2 es tu diccionario de tipos:
primitivos, arrays, tuplas, objetos, uniones, literales, y los tres tipos
especiales —any, unknown, never— que hay que entender para no dispararse en
el pie.