Qué es TypeScript
TypeScript es JavaScript con tipos. Permite declarar qué forma tienen los datos (un pedido, un usuario, una reserva) y el editor avisa de los errores antes de que el código llegue a producción. Funciona en el navegador y en el servidor, así que se puede usar en toda la aplicación.
Cómo lo uso
TypeScript es el lenguaje con el que trabajo a diario, de punta a punta. Casi todos mis proyectos están escritos en TypeScript tanto en el frontend como en el backend, y eso tiene una ventaja práctica: los tipos de una petición son los mismos en el formulario que la envía y en la API que la recibe.
- Modo estricto activado en los proyectos nuevos, para que el compilador no deje pasar valores nulos sin comprobar ni tipos implícitos.
- Validar en los bordes. Los tipos no existen cuando el programa se ejecuta, así que todo lo que llega de fuera (formularios, webhooks, servicios externos) lo valido con Zod o con DTOs en NestJS. A partir de ahí, el resto del código puede fiarse de los datos.
- Tipos generados desde la base de datos con Prisma o Supabase, para que un cambio en una tabla se note enseguida en el código que la usa.
- El mismo lenguaje en todas las piezas: Angular o React en el navegador, NestJS o Next.js en el servidor, y también bots de Discord y scripts de mantenimiento.
Sigo de cerca la evolución del lenguaje y ya trabajo con las versiones más recientes del compilador en algún proyecto.
Proyectos donde lo he usado
- RustCommander: panel en React, API en NestJS, landing en Astro y bot de Discord, todo en TypeScript.
- Grupote y Phu Yao: aplicaciones completas en Next.js con modo estricto y validación con Zod.
- Un marketplace propio con frontal en Angular y backend en NestJS.
- Un TPV para hostelería, la gestión de un centro de ocio y varias landings de negocios locales.
Cuándo lo recomiendo y cuándo no
Lo recomiendo en cualquier aplicación que vaya a mantenerse más de unos meses o en la que vaya a trabajar más de una persona. Detectar errores al escribir el código sale mucho más barato que encontrarlos cuando un cliente ya los ha sufrido.
Para un script de un solo uso o una prueba rápida, JavaScript simple puede ser suficiente. Y si tu equipo ya trabaja en otro lenguaje de servidor, como PHP o Python, no hace falta cambiarlo todo: puedo trabajar en el lenguaje que necesite el proyecto.
Preguntas frecuentes
¿TypeScript hace la web más lenta?
No. Se convierte en JavaScript antes de publicarse, así que el navegador recibe lo mismo. La diferencia está en la calidad del código, no en la velocidad.
¿Qué ventaja tiene usar el mismo lenguaje en frontend y backend?
Menos errores de comunicación entre las dos partes, código compartido y un solo perfil técnico para mantenerlo todo.
¿Puedo pasar mi proyecto en JavaScript a TypeScript?
Sí, y se puede hacer poco a poco, fichero a fichero, sin parar el proyecto.
¿Quieres una aplicación en TypeScript bien tipada de principio a fin? Pídeme presupuesto.