TypeScript 5.7 ya está aquí: qué ha cambiado y por qué es importante
El equipo de Microsoft ha presentado oficialmente TypeScript 5.7, otra importante actualización del popular lenguaje de programación con tipado. El nuevo lanzamiento incluye decenas de correcciones, optimizaciones y funciones muy esperadas que simplifican el desarrollo y hacen que el código sea aún más seguro. Analicemos los cambios principales.
Verificación mejorada de ramas con never
Una de las novedades clave es un análisis más inteligente de las ramas inalcanzables. Anteriormente, TypeScript no siempre determinaba correctamente que el código después de llamar a una función con tipo de retorno never no se ejecuta. Ahora el compilador rastrea estos casos con mayor precisión, lo que reduce la cantidad de errores falsos y permite escribir construcciones más limpias:
- Se eliminan las advertencias incorrectas sobre «código inalcanzable».
- Se mejora el trabajo con excepciones y bucles infinitos.
- Comportamiento más correcto al usar
assertNever.
Nuevo objetivo de compilación: --target ESNext
Se ha añadido soporte para la bandera --target ESNext. Ahora puede compilar código para la versión más reciente de ECMAScript sin necesidad de especificar un número concreto (por ejemplo, ES2023). Esto es especialmente útil en proyectos donde es importante la compatibilidad con las últimas capacidades de los motores JavaScript. Se planea que ESNext se actualice automáticamente con cada nuevo lanzamiento de TypeScript.
Tipos utilitarios: mejoras y nuevas capacidades
En TypeScript 5.7 se han ampliado las utilidades integradas para trabajar con tipos:
- NoInfer — un nuevo alias que impide que TypeScript infiera automáticamente el tipo a partir del argumento pasado. Ayuda a evitar restricciones inesperadas en sobrecargas.
- Se ha mejorado el funcionamiento de
OmityPickcon tipos condicionales y mapeo. - Se ha añadido una verificación más estricta para arrays
readonlyen el contexto del operador spread.
Optimización del rendimiento del compilador
Los desarrolladores han realizado un trabajo importante en la velocidad de la compilación incremental. Según el equipo, el tiempo de compilación en grandes monorepositorios (por ejemplo, con miles de archivos) se ha reducido entre un 10 y un 15%. Esto ha sido posible gracias a:
- Almacenamiento en caché de los resultados de la verificación de tipos para módulos no modificados.
- Un algoritmo mejorado de resolución de rutas (module resolution).
- Optimización del trabajo con tipos condicionales.
Simplificación del trabajo con JSDoc y actualizaciones del editor
TypeScript 5.7 comprende mejor las anotaciones de JSDoc: ahora se admiten patrones más complejos y tipos unión. En los editores (VS Code, WebStorm) se ha mejorado el autocompletado para los archivos de configuración tsconfig.json: las sugerencias son más precisas y la descripción de cada campo es más detallada.
Otras correcciones y conclusión
El lanzamiento también incluye correcciones de decenas de errores relacionados con el funcionamiento de decoradores, módulos e intersección de tipos. La actualización está disponible a través de npm:
npm install -D typescript@5.7TypeScript 5.7 es un lanzamiento equilibrado que hace que el desarrollo sea más cómodo sin romper radicalmente la compatibilidad con versiones anteriores. Si utiliza tipado estricto en sus proyectos, le recomendamos actualizar lo antes posible.
Siga las noticias en PythonLib — continuamos