- ECMAScript 2025 fue aprobado como estándar oficial el 25 de junio de 2025, incorporando varias nuevas funciones
- Import attributes y los módulos JSON mejoran la forma de importar recursos que no son JavaScript
- Los Iterator helper methods aumentan la eficiencia en el procesamiento de grandes volúmenes de datos y en diversas tareas de iteración
- Se agregan numerosos métodos nuevos a objetos integrados clave como Set y RegExp, mejorando su usabilidad
- El soporte para punto flotante de 16 bits (float16) amplía el rendimiento y la expresividad en el procesamiento de datos
Aprobación oficial de ECMAScript 2025
- El 25 de junio de 2025, ECMAScript 2025 fue aprobado como estándar oficial en la 129.ª Asamblea General de Ecma International
Nuevas funciones principales
Import attributes y módulos JSON
- Import attributes es una sintaxis que permite especificar atributos como el tipo para artefactos que no son JavaScript (recursos objetivo de importación)
- Se incorpora por primera vez soporte oficial para módulos JSON, lo que permite cargar datos JSON fácilmente con la forma
import configData from './data.json' with { type: 'json' };
- También es posible especificar atributos de la misma forma en imports dinámicos (llamadas a
import())
Iterator helper methods
- Se introducen varios métodos helper similares a los de Array, pero especializados para iterator
- Métodos ya conocidos como
filter, map, flatMap, some, every, find, reduce, forEach
- También se incluyen nuevos métodos exclusivos para iteradores como
drop, take, toArray
- Se pueden usar directamente con todos los objetos iterables, como Set y Map
- Son eficaces para grandes volúmenes de datos porque procesan secuencialmente solo lo necesario sin crear arreglos intermedios
Ampliación de métodos de Set
- Se agregan métodos para operaciones de unión, intersección, diferencia y diferencia simétrica
Set.prototype.union(other), intersection(other), difference(other), symmetricDifference(other)
- Se ofrecen métodos para determinar subconjunto/superconjunto/disjuntos
isSubsetOf(other), isSupersetOf(other), isDisjointFrom(other)
Mejoras en expresiones regulares
RegExp.escape()
- Se incorpora
RegExp.escape() para escapar automáticamente cualquier cadena y poder usarla de forma segura en expresiones regulares
Inline flags dentro del patrón
- Ahora es posible aplicar flags individuales (
i, u, etc.) solo a partes específicas de una expresión regular
- Ejemplo:
/^x(?i:HELLO)x$/ hace match sin distinguir mayúsculas y minúsculas solo en la parte HELLO
Soporte para grupos de captura con nombres duplicados
- Se permite usar grupos de captura con el mismo nombre en distintas alternativas (branches) de una expresión regular
- Ejemplo:
/(?<chars>a+)|(?<chars>b+)/v
Promise.try()
- Se incorpora
Promise.try() para iniciar el manejo mixto de código síncrono/asíncrono dentro de una sola cadena de Promise
- Antes el manejo de excepciones síncronas era incómodo, pero ahora puede hacerse de forma más simple
Soporte para punto flotante de 16 bits (float16)
Math.f16round() permite realizar redondeo de punto flotante de 16 bits
- Se agrega el tipo
Float16Array a TypedArray
- Se incorporan los métodos
getFloat16(), setFloat16() a DataView
Material de referencia y libro gratuito
- Está disponible el libro en línea gratuito “Exploring JavaScript (ES2025 Edition)”
- Explica en detalle la historia y evolución de JavaScript, así como las nuevas funciones de ECMAScript
- Incluye ejemplos reales de uso y explicaciones para cada función principal nueva
1 comentarios
En mi proyecto anterior no entendía por qué no funcionaba cargar JSON
Resulta que originalmente no era compatible.. vaya..