CodeForge

TypeScript de Cero a Experto / Por qué TS

Reto: tipar tu primer módulo con strict

Reto30 min60 XP

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

Media25 min60 XP(×2 sin mirar la solución)

Qué debes construir

Un módulo de gastos tipado, correcto bajo strict, que al ejecutarse imprima:

terminal

Total: 45800

Más caro: Cine (25000)

Buscar 'Bus': Bus por 2800

Buscar 'Taxi': no encontrado

Requisitos:

  1. Define el tipo de un gasto (nombre string, valor number) —lo harás con interface o type, ambos válidos por ahora.
  2. calcularTotal(gastos): suma los valores. Anota el parámetro; deja inferir el resto.
  3. masCaro(gastos): devuelve el gasto de mayor valor.
  4. buscar(gastos, nombre): devuelve el gasto con ese nombre… o undefined si no existe. Aquí strict te obligará a que quien lo llame maneje el caso "no encontrado" —justo el punto del módulo.
  5. El "guion" que produce la salida de arriba, manejando el undefined de buscar sin que TypeScript se queje.

Reglas

  • Anota los BORDES (parámetros); deja que TS infiera variables locales y retornos internos.
  • No uses any para "callar" a TypeScript: si se queja del undefined, 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.