Hoja de ruta de ECMAScript: nuevas funciones de JavaScript para 2019

Se ha finalizado ECMAScript 2019, la última versión de la especificación que sirve como base de JavaScript. ECMA International aprobó la especificación en junio.

Las nuevas características introducidas en ECMAScript 2019 incluyen las siguientes:

  • Symbol.prototype.description, una propiedad de acceso cuyo set accessorno está definido. Su get accessorfunción realiza pasos que incluyen: Sea seste valor, symsea ?thisSymbolValue(s)y vuelva sym. [[Description]]. El objetivo de esta función es exponer la [[Description]]ranura interna de un símbolo directamente en lugar de solo indirectamente Symbol.prototype.toString.
  • Cambios a Function.prototype.toString. Se han propuesto revisiones tales como implementaciones que no requieren retener el texto fuente para todas las funciones definidas usando el código ECMAScript.
  • prototype.flatMap, una operación de matriz común que toma una estructura de matriz anidada y elimina uno o más niveles de anidamiento según su parámetro. Flat existe en bibliotecas similares a matrices como Lodash, lo que ha llevado a los usuarios a querer la misma funcionalidad en JavaScript vanilla.
  • prototype.flatmap, un mapa seguido de un plano, ofrece una ligera comodidad y una ligera optimización. El mapa plano es conveniente porque el acoplamiento y el mapeo a menudo son útiles en la misma operación. También es una optimización porque no es necesario asignar una matriz para el mapeo solo para descartarla al aplanar.
  • prototype.sort(), un método que ordena los elementos de una matriz en su lugar y devuelve la matriz, ahora es estable.
  • Object.fromEntries, que proporciona un nuevo método estático para transformar una lista de pares clave-valor en un objeto.
  • String.prototype.trimStarty String.prototype.trimEnd. La razón de ser de estas revisiones es que todos los principales motores han puesto en práctica correspondiente trimLefty trimRight funciones sin una especificación estándar. Por coherencia con padStart/padEnd, trimStart, trimEnd, trimLeft, y trimRightse están proponiendo como alias para la compatibilidad web.
  • Actualizaciones para JSON.stringifyemitir UTF-16 (formato de transformación Unicode) bien formado. Actualmente, se pueden emitir unidades de código mal formadas para puntos de código sustitutos.
  • Enlace opcional catch, que permite a los desarrolladores omitir un catchenlace cuando no se utilizaría.

La especificación completa de ECMAScript 2019 se puede ver en línea en el sitio web de ECMA International. También se puede descargar. Las ediciones completas de ECMAScript generalmente se publican cada junio, como la especificación ECMAScript 2018 del año pasado.