La última versión principal de TypeScript, el superconjunto popular de JavaScript que agrega escritura estática opcional al lenguaje, ya está aquí. El 20 de agosto, Microsoft lanzó TypeScript 4.0 y pensamos en hacer un resumen rápido de las nuevas funciones.

Variadic Tuple Types

Los diferenciales en sintaxis de tipo tupla ahora pueden ser genéricos. Esto significa que las operaciones de orden superior en tuplas y matrices se pueden representar incluso si no se conocen los tipos reales sobre los que se opera. Cuando se crean instancias de diferenciales genéricos (o se reemplazan con un tipo real) en estos tipos de tupla, pueden producir otros conjuntos de tipos de matriz y tupla. Además, los elementos de descanso pueden aparecer en cualquier parte de una tupla, no solo al final.

Labeled Tuple Elements

Los tipos de tupla ahora pueden proporcionar etiquetas. Esto ayudará a su editor a proporcionar mejores sugerencias cuando trabaje con tuplas.

Class Property Inference From Constructors

Si configuramos TypeScript en modo noImplicitAny , TypeScript 4.0 puede usar el análisis de flujo de control para determinar los tipos de propiedades en las clases.

Short-Circuiting Assignment Operators

JavaScript y muchos otros lenguajes admiten operadores de asignación compuestos. Los operadores de asignación compuesta aplican un operador a dos argumentos y luego asignan el resultado al lado izquierdo.

Muchos operadores en JavaScript tienen un operador de asignación correspondiente, pero hay tres excepciones notables: lógico y (&&), lógico o (||) y fusión nula (??). Para llenar estos vacíos, TypeScript 4.0 presenta tres nuevos operadores de asignación: &&=, ||= y ??=.

“unknown” on “catch” Clause Bindings

Desde el comienzo de TypeScript, las variables de la cláusula catch siempre se han escrito como cualquiera. Con TypeScript 4.0, el tipo de variables de la cláusula catch se puede especificar como unknown, siendo unknown más seguro que cualquiera porque les recuerda a los desarrolladores que deben realizar una verificación de tipo antes de operar con sus valores.

Custom JSX Factories

Cuando usamos JSX, un fragmento es un tipo de elemento JSX que nos permite devolver múltiples elementos secundarios. En TypeScript 4.0, los usuarios pueden personalizar la fábrica de fragmentos a través de una nueva opción jsxFragmentFactory .

Mejoras de velocidad en el modo “build” con “— noEmitOnError”

En versiones anteriores, compilar un programa después de una compilación anterior con errores en — incremental sería extremadamente lento cuando se usaba — noEmitOnError flag. De hecho, ninguna información de la última compilación se almacenaría en caché en un archivo .tsbuildinfo basado en el indicador — noEmitOnError . Esto ahora se ha cambiado y TypeScript 4.0 aumenta la velocidad en el modo de compilación.

Mejoras en el editor

La nueva funcionalidad JavaScript/TypeScript mejora los escenarios de edición en Visual Studio Code, Visual Studio 2017/2019 y más.

Puede consultar una lista parcial de editores que son compatibles con TypeScript para obtener más información sobre si su editor favorito es compatible con el uso de nuevas versiones.

Puede encontrar todas las funciones nuevas de TypeScript 4.0 en el sitio web oficial. Y, si desea probar esta última versión, puede acceder a TypeScript 4.0 a través de NuGet o a través de npm con el siguiente comando: npm install -D typescript.

Descubre aquí como la Web 3 cambiará al internet.