Llegamos a ustedes gracias a:



Noticias

TypeScript 3.5 corrige el error de comprobación

De tipo 'insoportablemente lento'

[23/05/2019] TypeScript 3.5, la última versión del popular superconjunto de JavaScript de Microsoft, ya está disponible en una versión candidata. La actualización está configurada para añadir optimizaciones para la comprobación de tipo, abordando una grave regresión de velocidad introducida con la versión anterior.

Con TypeScript 3.5, el equipo de desarrollo de TypeScript de Microsoft se centró en la optimización de las rutas de código, y en la eliminación de ciertas funciones para hacer que TypeScript sea más rápido. Los tiempos de compilación han disminuido en comparación con TypeScript 3.4; la finalización de código y otras operaciones de edición también deberían ser "más rápidas", señalaron los desarrolladores de TypeScript.

Al realizar estas optimizaciones, el equipo de TypeScript intentó reparar una regresión introducida en TypeScript 3.4 que podría conducir a mucho más trabajo para el verificador de tipos, y aumentar los tiempos de verificación de tipos. La regresión fue grave porque, además de prolongar los tiempos de construcción, las operaciones de edición para los usuarios de TypeScript y JavaScript se volvieron "insoportablemente lentas". Los más afectados fueron los desarrolladores que utilizaban la biblioteca de componentes de estilo.

La publicación general de TypeScript 3.5 está prevista para finales de mayo. Otras mejoras en TypeScript 3.5 incluyen:

  • Optimizaciones de caché que afectan a la opción Incremental del compilador que reducen el tiempo de reconstrucción.
  • Un archivo de declaración lib.d.ts para proporcionar un tipo de ayuda Omit. El compilador usará este tipo para expresar los tipos creados a través de la desestructuración de objetos en genéricos.
  • Mejora de los controles de exceso de propiedad en los tipos de unión. La comprobación del exceso de propiedades tiene por objeto encontrar errores tipográficos cuando un tipo no espera una propiedad específica. En TypeScript 3.5, el verificador de tipos verifica que todas las propiedades proporcionadas pertenecen a algún miembro de la unión y tienen el tipo apropiado.
  • Cuando se asigna a tipos con propiedades discriminantes, el lenguaje descompone los tipos en una unión de cada tipo de habitante posible. Esto proporciona una comprobación de tipo más inteligente.
  • Referencia a declaraciones globales UMD (Universal Module Definition) utilizando un indicador allowUmdGlobalAccess.
  • Inferencias de tipo de orden superior de constructores genéricos.
  • TypeScript 3.5 contiene algunos cambios de ruptura, tales como parámetros de tipo genérico restringidos a unknown.

Puede descargar la versión candidata de TypeScript 3.5 desde NuGet o usando el siguiente comando NPM:

npm install -g typescript@rc