ECMAScript 2018

Las convenciones de nomenclatura de JavaScript comenzaron con ES1, ES2, ES3, ES5 y ES6.

Pero ECMAScript 2016 y 2017 no se denominaron ES7 y ES8.

Desde 2016, las nuevas versiones se nombran por años (ECMAScript 2016/2017/2018).

Nuevas características en ECMAScript 2018

Este capítulo introduce las nuevas características de ECMAScript 2018:

  • Iteración asíncrona
  • Promise Finally
  • Propiedades rest de los objetos
  • Nuevas características de RegExp

Iteración asíncrona de JavaScript

ECMAScript 2018 agregó los iteradores asíncronos y los objetos iterables.

A través de la iteración asíncrona, podemos for/of en bucles await Palabra clave.

Ejemplo

for await () {}

Firefox y Safari son los primeros navegadores que admiten la iteración asíncrona de JavaScript:

Chrome y Firefox fueron los primeros navegadores en soportar todas las nuevas características de RegExp: IE Firefox Safari Opera
Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Diciembre de 2017 Enero de 2020 Noviembre de 2017 Septiembre de 2017 Enero de 2018

Promise.finally de JavaScript

ECMAScript 2018 utiliza Promise.finally Se completó la implementación completa del objeto Promise:

Ejemplo

let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();

Chrome y Firefox son los primeros en admitir Promise.finally de navegadores:

Chrome y Firefox fueron los primeros navegadores en soportar todas las nuevas características de RegExp: IE Firefox Safari Opera
Chrome 63 Edge 18 Firefox 58 Firefox 55 Opera 50
Diciembre de 2017 Noviembre de 2018 Enero de 2018 Julio de 2017 Enero de 2018

Propiedades rest de los objetos de JavaScript

ECMAScript 2018 agregó las propiedades rest.

Esto nos permite descomponer un objeto y recopilar los restos en un nuevo objeto:

Ejemplo

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

Chrome, Firefox y Opera son los primeros navegadores que admiten las propiedades rest de los objetos:

Chrome y Firefox fueron los primeros navegadores en soportar todas las nuevas características de RegExp: IE Firefox Safari Opera
Chrome 60 Edge 79 Chrome 60 Firefox 55 Safari 11.1
Opera 47 Enero de 2020 Marzo de 2018 Julio de 2017 Marzo de 2018

Agosto de 2017

Nuevas características de RegExp de JavaScript

  • ECMAScript 2018 agregó 4 nuevas características de RegExp:
  • Escape de atributos Unicode (\p{...})
  • Afirmaciones de búsqueda inversa (Lookbehind Assertions) (?<= ) y (?<! )
  • Grupos de captura nombrados (Named Capture Groups)

Símbolo (puntoAll) s

Chrome y Firefox fueron los primeros navegadores en soportar todas las nuevas características de RegExp: IE Firefox Safari Opera
Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Enero de 2018 Enero de 2020 Junio de 2020 Septiembre de 2018 Febrero de 2018