TypeScript 5.3, una actualización de la variante JavaScript fuertemente tipada de Microsoft que agrega soporte para atributos de importación para módulos ECMAScript, pasó a una etapa de lanzamiento candidato (RC). El RC, anunciado el 3 de noviembre, agrega una opción para preferir las importaciones automáticas de solo tipo cuando sea posible. Anteriormente, cuando TypeScript generaba importaciones automáticas para algo en una posición de tipo, agregaba un modificador de tipo basado en la configuración del desarrollador. Con un cambio reciente, TypeScript ahora habilita una opción específica del editor. Por ejemplo, al obtener una importación automática de Persona en lo siguiente: export let p: La experiencia de edición de PersonTypeScript normalmente agregaría una importación para Persona como:import { Person } from «./types»; export let p: Personand bajo ciertas configuraciones, como verbatimModuleSyntax, TypeScript agregaría el modificador de tipo:import { type Person } from «./types»; export let p: Person Sin embargo, si una base de código no puede usar algunas de estas opciones, o si un desarrollador simplemente tiene preferencia por las importaciones de tipos explícitos cuando sea posible, TypeScript ahora lo habilita a través de una opción específica del editor. El RC sigue un versión beta publicada el 3 de octubre. No se esperan más cambios desde ahora hasta la versión estable planificada para el 14 de noviembre, aparte de correcciones de errores críticos. TypeScript 5.3 también está configurado para admitir actualizaciones de una propuesta de atributos de importación para módulos ECMAScript. La propuesta de estándares ECMA presenta una sintaxis en línea para que las declaraciones de importación del módulo pasen información junto con el especificador del módulo. Estos atributos admitirán tipos adicionales de módulos de forma común en entornos JavaScript, comenzando con los módulos JSON. En un boletín del 3 de octubre sobre la versión beta de TypeScript 5.3, Microsoft dijo que un caso de uso de los atributos de importación era proporcionar información sobre el formato esperado de un módulo en tiempo de ejecución. En el ejemplo citado, Microsoft dijo que TypeScript no verificó el contenido de los atributos porque son específicos del host y se dejan solos para que los navegadores y los tiempos de ejecución puedan manejarlos. Los atributos de importación son una evolución de una propuesta anterior, las aserciones de importación, que se implementaron en TypeScript 4.5 en noviembre de 2021. La diferencia más obvia es el uso de la palabra clave with sobre la palabra clave afirmar. Una diferencia menos visible es que los tiempos de ejecución ahora pueden usar atributos para guiar la resolución y la interpretación de las rutas de importación, mientras que las aserciones de importación solo pueden afirmar algunas características después de cargar un módulo. Los planes exigen desaprobar la sintaxis antigua para la aserción de importación en favor del estándar propuesto para atributos de importación. Se puede acceder a TypeScript 5.3 RC a través de NuGet o a través de NPM usando el siguiente comando: npm install -D typescript@rcTypeScript 5.3 vence en un lanzamiento de producción final el 14 de noviembre. El predecesor TypeScript 5.2 se lanzó el 24 de agosto. Otras nuevas características y mejoras vienen en TypeScript 5.3: TypeScript 5.3 admite el atributo de modo de resolución para el tipo de importación. La reducción se puede realizar en función de las condiciones de cada cláusula de caso con un modificador (verdadero). TypeScript 5.3 inspecciona más de cerca los accesos a superpropiedades y las llamadas a métodos para ver si corresponden a campos de clase. Si lo hacen, se producirá un error de verificación de tipo. Las sugerencias de inserción de TypeScript ahora permiten saltar a la definición de tipos, lo que facilita la navegación informal por el código. Al ejecutar TypeScript a través de tsc, el compilador evitará analizar JSDoc, lo que reducirá el tiempo de análisis y el uso de memoria para almacenar comentarios junto con el tiempo dedicado a la recolección de basura. Se ha realizado la consolidación entre tsserverlibrary.js y typescript.js. TypeScript ahora detecta cuando la declaración hace referencia a un super. El acceso a la propiedad es un campo de clase y emite un error, evitando así errores que podrían ocurrir en tiempo de ejecución. En JavaScript es posible anular el comportamiento del operador instancia de. Para hacer esto, el valor a la derecha del operador debe tener un método específico denominado Symbol.hasInstance. Para modelar mejor este comportamiento en instancia de, TypeScript ahora comprueba si dicho comportamiento [Symbol.Instance] El método existe y se declara como una función de predicado de tipo. Si es así, el valor probado en el lado izquierdo del operador instancia de se reducirá adecuadamente según ese predicado de tipo. Copyright © 2023 IDG Communications, Inc.

Source link