JavaScript: Lanzamiento de ECMAScript 2017

El pasado Junio se lanzó oficialmente la última versión de JavaScript. Aquí os dejo la especificación completa para los valientes. A continuación os explico las funcionalidades que me han parecido más interesantes:

Object.values

Si alguna vez has usado la función Object.keys y te has preguntado si no había una manera tan sencilla como esta de devolver los valores de las propiedades de un objeto, pues no, ¡no la había hasta ahora sin tener que recurrir un polyfill!

Podéis usar esta función en nodejs a partir de la versión 7.5.0

Aquí tenéis la tabla de compatiblidad de Object.values en navegadores:

object.entries compatibility

 

Object.entries

Muy parecida a la anterior, devuelve una array multidimensional por cada par de propiedad y valor de un objeto:

Podéis usar esta función en nodejs a partir de la versión 7.5.0.

Aquí tenéis la tabla de compatiblidad de Object.entries en navegadores:

object.values compatibylity

 

Funciones Asíncronas

¡La funcionalidad más esperada de todas! La posibilidad de escribir código asíncrono y que se lea como código síncrono. 

Como podéis observar el código se lee de manera más natural o más tradicional. El requisito para poder usar await dentro de una función que lo contenga es que su definición vaya precedida por el keyword async y que la función a la que espera el await devuelva una promesa.

Una cosa que tenemos que tener en cuenta es que async await es para hacer tareas asíncronas una detrás de otra, si queremos lanzar varias tareas al mismo tiempo vamos a seguir teniendo que usar promesas o callbacks.

Podéis usar esta función en nodejs a partir de la versión 7.10.1.

Aquí tenéis la tabla de compatiblidad de await en navegadores:

async-await compatibility

 

¡Saludos!

¿Quieres comentarme algo y seguir hablando del tema?

¡Únete a mi slack para que podamos debatir sobre este tema y muchos más!

¿Quieres seguir aprendiendo?