6 puntos por GN⁺ 2025-06-30 | 1 comentarios | Compartir por WhatsApp
  • 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

 
smboy86 2025-06-30

En mi proyecto anterior no entendía por qué no funcionaba cargar JSON
Resulta que originalmente no era compatible.. vaya..