Versión 5.1 de TypeScript disponible desde el 1 de junio ahora está diseñado para proyectos de producción. Este último facilita retornos implícitos para funciones que devuelven indefinidos y permite tipos no relacionados para captadores y definidores de acceso. TypeScript 5.1 también trae una serie de mejoras de codificación al lenguaje fuertemente tipado de Microsoft que se basa en JavaScript. Esta simplificación de los retornos implícitos pone fin a una situación en la que las únicas funciones que no podían tener absolutamente ninguna declaración de retorno eran las funciones con retorno cero y las funciones con cualquier retorno. Esto significaba que incluso si un desarrollador declaraba explícitamente que una función devolvía un valor indefinido, tenía que haber al menos una declaración de devolución. Este comportamiento era un problema si una API esperaba que una función devolviera un valor indefinido, en cuyo caso requería al menos una devolución explícita del valor indefinido o una declaración de devolución y una anotación explícita.

Según Microsoft, “este modo de funcionamiento era fuente de confusión y frustración”. Con TypeScript 5.1, si una función no tiene expresión de retorno y se pasa a algo que espera que una función devuelva un valor indefinido, TypeScript infiere un valor indefinido para el tipo de retorno de esta función. TypeScript 5.1 ahora permite tipos completamente independientes para las propiedades de acceso "obtener" y "establecer", siempre que tengan anotaciones de tipo explícitas. Esto sigue a TypeScript 4.3, que permite que un par de descriptores de acceso "get" y "set" especifiquen dos tipos diferentes. TypeScript 5.1 está disponible a través de NuGet o mediante NPM: npm install -D mecanografiado.

Índice
  1. Otras características y mejoras en TypeScript 5.1
  2. Una implementación aún por mejorar

Otras características y mejoras en TypeScript 5.1

- TypeScript ahora proporciona fragmentos de finalización al ingresar una etiqueta @param JSDoc en archivos TypeScript y JavaScript. Esto puede reducir la escritura y los saltos cuando los desarrolladores documentan código o agregan tipos JSDoc en JavaScript;

- TypeScript 5.1 evita la creación de instancias de tipos en tipos de objetos conocidos para no contener referencias a parámetros de tipos externos. Esto podría evitar muchos cálculos innecesarios y reducir el tiempo necesario para verificar los tipos en el directorio de documentos de Material UI en más del 50%;

- Al comprobar si un tipo de fuente es parte de un tipo de unión, TypeScript 5.1 primero realiza una búsqueda rápida utilizando un identificador de tipo interno para esa fuente. Si la búsqueda falla, TypeScript verifica la compatibilidad con todos los tipos de unión;

- TypeScript ahora solo funciona en Node.js 14.17 y versiones posteriores;

- Los nombres de atributos con espacios de nombres ahora son compatibles cuando se usa la sintaxis JSX. Aún para JSX, TypeScript 5.1 ahora busca un tipo llamado JSX.ElementType, que especifica con precisión qué es válido para usarse como etiqueta en un elemento JSX;

- La edición vinculada de nombres de etiquetas JSX permite a un editor editar automáticamente varias ubicaciones al mismo tiempo;

- Cuando la estrategia de búsqueda de módulo especificada por TypeScript no puede resolver una ruta, ahora resuelve paquetes relativos a las raíces de tipo especificadas.

Una implementación aún por mejorar

Esta versión de producción llega después de una versión candidata entregada el 18 de mayo de 2023 y una versión beta lanzada el 18 de abril de 2023. Desde la versión candidata, los diseñadores de TypeScript han modificado ligeramente las refactorizaciones integradas para mover declaraciones a archivos existentes, pero Microsoft cree que la implementación aún necesita mejoras. Por lo tanto, de momento los desarrolladores no pueden acceder a él en la mayoría de editores y sólo pueden hacerlo a través del llamado “ nocturno » de TypeScript. TypeScript 5.2 o un parche futuro de la versión 5.1 deberían reintroducir esta refactorización. La versión anterior 5.0 de TypeScript, centrada en el uso de módulos ECMAScript, se lanzó en marzo de 2023.

TypeScript 5.1 está disponible a través de NuGet o mediante NPM usando el comando npm install -D mecanografiado.