Desarrollo de Aplicaciones

¿Qué novedades trae ECMAScript 2016?

La versión del lenguaje de programación JavaScript, ECMAScript 2016, ha sido aprobada. ¿Quieres conocer las novedades para el desarrollo de páginas web?

Novedades ECMAScript 2016

La nueva versión de JavaScript ha sido aprobada tras anunciarse el año pasado.

ECMA International la presenta como una base para la nueva versión del próximo año 2017 que será la que incorporará el soporte para las funciones async. La primera publicación de ECMAScript fue en 1997, así que ésta se considera la séptima edición. Esta nueva versión viene con menos novedades que la anterior ES6.

Una de las incorporaciones más potentes es la del operador exponencial, que hasta ahora no existía. Un ejemplo sería:

x=3**2

De esta manera dejaríamos de utilizar la librería Math. Sería el equivalente a:

Math.pow(3,2)

También permite la asignación similar a +=. Un ejemplo es:

3**=4

Este nuevo operador tendrá mayor prioridad que * y no permite el uso de números negativos en la base exponencial ya que nos daría un error de sintaxis.

Además se ha añadido una función para mejorar la posibilidad de buscar datos en un array de forma más fácil. La gran diferencia con la función Array.prototype.indexOf es que puede encontrar el valor NaN. La función es Array.prototype.includes. Un ejemplo de su uso es:

if(myArray.includes(3)){}

Avances de ES8

Algunas características de ECMAScript 2017 han sido finalizadas y ya pueden ser utilizadas.

La primera de ellas es Object.values y Object.entries. Estas dos nuevas funciones nos permiten interaccionar con las propiedades del objeto. Object.values te proporciona innumerables valores del objeto. Object.entries te concede un Array con parejas de valores.

Veamos un ejemplo de cada nueva función:

Object.values({Value1: 'x', Value2: 'y', Value3: 'z'})
['x', 'y', 'z']

Object.entries({Value1: 'x', Value2: 'y', Value3: 'z'})
[['Value1', 'x'], ['Value2', 'y'], ['Value3', 'z']]

La siguiente novedad es String padding. Ahora ya existen dos nuevos métodos String para evitar problemas del pasado. Los dos métodos son String.prototype.padStart y String.prototype.padEnd. Así funcionan:

'0'.padStart(3)
" 0"
'0'.padStart(3, '1')
"110"
'0'.padEnd(3)
"0 "
'0'.padEnd(3, '1')
"011"

Por último, Object.getOwnPropertyDescriptors obtendrá todas las propiedades descriptivas de un objeto en concreto. Es muy similar a Object.getOwnPropertyDescriptor, que únicamente obtenía una propiedad. La sintaxis es:

Object.getOwnPropertyDescriptors(object, properties)

Hasta aquí todas las nuevas funcionalidades de este lenguaje totalmente imprescindible para el desarrollo web y el diseño web.

Comparte este artículo

Artículos Relacionados