TypeScript 5.0 ha sido lanzado: lo que un desarrollador debe saber
El equipo de TypeScript presentó el lanzamiento de la versión 5.0 — la primera gran actualización en el nuevo sistema de numeración. En lugar de las habituales 4.x, los desarrolladores decidieron pasar a 5.0, destacando la magnitud de los cambios internos. La novedad trajo varias funciones largamente esperadas, y también aceleró significativamente el trabajo del compilador. Analicemos los principales cambios que vale la pena implementar en sus proyectos hoy mismo.
Principales novedades de TypeScript 5.0
- Decoradores (compatibles con ECMAScript) — ahora TypeScript admite decoradores estándar que corresponden a la propuesta de TC39. Los decoradores experimentales antiguos permanecen para compatibilidad hacia atrás, pero se recomienda a los nuevos proyectos migrar a la nueva sintaxis.
- const type parameters — ahora es posible declarar genéricos con el modificador
const. Esto permite inferir tipos literales con mayor precisión, especialmente al trabajar con arrays y tuplas. Por ejemplo,const tuple = <const T,>(...args: T) => argsconservará la longitud exacta de la tupla. - Mejora de rendimiento — TypeScript 5.0 se volvió más rápido gracias a la optimización de las estructuras de datos internas y la reducción de la carga en el recolector de basura. En algunos proyectos, la velocidad de compilación aumentó entre un 10 y un 25%.
- Soporte de múltiples configuraciones en un solo proyecto — ahora se pueden especificar varios
tsconfig.jsonen la secciónreferencessin duplicar configuraciones. Esto simplifica los monorepositorios y las arquitecturas de microservicios. - Trabajo mejorado con enums — todos los valores enum ahora son uniones de tipos literales. Esto mejora la verificación de tipos y el autocompletado en los editores de código.
- JSDoc imports — en archivos JavaScript que usan
@typey@param, ahora se pueden importar tipos de otros archivos medianteimport('./types').SomeType. Esto hace que la tipificación con JSDoc sea significativamente más potente.
Qué cambió en la sintaxis y la compatibilidad
El lanzamiento de TypeScript 5.0 no contiene cambios disruptivos para el código escrito en TypeScript 4.9. Sin embargo, vale la pena prestar atención a algunos puntos:
- Se eliminó el soporte para el sistema antiguo de decoradores (si no usas el flag experimental
experimentalDecorators). - Los archivos con extensión
.tsahora pueden contener exportaciones por defecto para funciones asíncronas sin envoltorios adicionales. - Se mejoró la integración con Node.js ESM — TypeScript 5.0 procesa correctamente las extensiones
.mtsy.cts.
Cómo actualizar a TypeScript 5.0
La actualización no requiere un esfuerzo significativo. Basta con ejecutar en la terminal:
npm install typescript@latest --save-devDespués de la instalación, se recomienda verificar el proyecto en busca de errores con el comando tsc --noEmit. Si usas decoradores antiguos, agrega el flag "experimentalDecorators": true en tsconfig.json para mantener la compatibilidad.
Conclusión
TypeScript 5.0 es un paso significativo hacia adelante para el ecosistema. Los nuevos decoradores, const type parameters y el rendimiento mejorado lo convierten en uno de los más importantes