TypeScript 5.4, una actualización planificada de la variante JavaScript fuertemente tipada de Microsoft, ha alcanzado la disponibilidad beta. Las nuevas capacidades incluyen una reducción conservada dentro de los cierres de funciones creados después de la última asignación y un tipo NoInfer para bloquear inferencias a tipos válidos pero no deseados. Se puede acceder a TypeScript 5.4, lanzado el 29 de enero, a través de NuGet o NPM. En NPM, use el siguiente comando:npm install -D typescript@betaTypeScript 5.4 hace que la reducción sea más inteligente. Al detallar la mejora, Microsoft dijo que un problema común en TypeScript era que los tipos restringidos no siempre se conservaban dentro de los cierres de funciones. En TypeScript 5.4, cuando los parámetros y las variables let se usan en funciones no elevadas, el verificador de tipos buscará un último punto de asignación. Si se encuentra uno, TypeScript puede limitarlo desde fuera de la función que lo contiene. TypeScript 5.4 también introduce un NoInfer tipo de utilidad. Rodeando un tipo en NoInfer<…> da una señal a TypeScript para que coincida con los tipos internos y encuentre candidatos para la inferencia de tipos. El tipo de utilidad soluciona un problema en el que TypeScript puede inferir argumentos de tipo a partir de lo que se pasa. Pero no siempre está claro cuál es el mejor tipo para inferir, lo que lleva a TypeScript a rechazar llamadas válidas y cometer otros errores. Otras mejoras en TypeScript 5.4: Se agregan declaraciones para los nuevos métodos estáticos groupBy y Map.groupBy de JavaScript. Object.groupBy toma un iterable y una función que decide en qué grupo se debe colocar cada elemento. La función debe crear una clave para cada grupo distinto, y Object.groupBy usa esa clave para crear un objeto donde cada clave se asigna a una matriz que contiene el elemento originario. Map.groupBy es similar, pero produce un mapa en lugar de un objeto simple. Se ha agregado soporte para llamadas require() en el paquete –moduleResolution y –module preserve. Los atributos y aserciones de importación ahora se comparan con el tipo global ImportAttributes. Esto significa que los tiempos de ejecución ahora pueden describir con mayor precisión los atributos de importación. Una solución rápida le permite agregar un nuevo parámetro a funciones llamadas con demasiados argumentos. TypeScript ahora reduce las intersecciones con variables de tipo y primitivas de manera más agresiva, dependiendo de cómo se superponga la restricción de la variable de tipo con estas primitivas. Se han agregado obsolescencias desde TypeScript 5.0, como destino: código ES3, NoImplcitUseStrict, conjunto de caracteres y salida. TypeScript 5.4 probablemente será la última versión en la que la lista de obsolescencias continúe funcionando normalmente. Copyright © 2024 IDG Communications, Inc.
Source link
Deja una respuesta