Presentamos las nuevas características que ECMAScript 2016 (ES7) agrega a JavaScript

de Sanket Meghani

Desde que se lanzó ECMAScript 2015 (también conocido como ES6), ha introducido un gran conjunto de nuevas características. Incluyen funciones de flecha, conjuntos, mapas, clases y desestructuración, y mucho más. En muchos sentidos, ES2015 es casi como aprender una nueva versión de JavaScript.

El Comité Técnico 39 de Ecma rige la especificación ECMA. Decidieron lanzar una nueva versión de ECMAScript cada año a partir de 2015. Una actualización anual significa que no habrá más lanzamientos grandes como ES6.

ECMAScript 2016 introdujo solo dos características nuevas:

  • Matriz.prototipo.incluye ()
  • Operador de exponenciación

Array.prototipo.incluye()

Array.prototype.includes() comprueba la matriz para el value pasado como un argument. Devuelve true si el array contiene el value, de lo contrario, devuelve false.

Antes, necesitábamos usar Array.prototype.indexOf() para comprobar si el array dado contiene un elemento o no.

let numbers = ;
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}

Con ECMA2016, podemos escribir:

if(numbers.includes(2)) { console.log('Array contains value');}

Array.prototype.includes() maneja NaN mejor que Array.prototype.indexOf(). Si el array contiene NaN, entonces indexOf() no devuelve un índice correcto mientras busca NaN.

Array.prototype.includes() devuelve el valor correcto al buscar NaN.

NaN es una propiedad del objeto global de JavaScript y representa un valor que no es un Número. Existen peculiaridades conocidas al comparar NaN con otro valor. Estos se abordan en Array.prototype.includes(), pero no en Array.protoype.indexOf.

let numbers = ;
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Operador de exponenciación

JavaScript ya admite muchos operadores aritméticos como +, -, * y más.

ECMAScript 2016 introdujo el operador de exponenciación, **.

Tiene el mismo propósito que Math.pow(). Devuelve el primer argumento elevado a la potencia del segundo argumento.

let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81

Conclusión

Las nuevas características introducidas por ECMA2016 proporcionan alternativas convenientes a las funcionalidades existentes.

De cara al futuro, ECMA2017 se finalizó en junio de este año. Las nuevas características incluyen async/await, SharedArrayBuffer y algunos métodos útiles para Object.prototype.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.