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 |