ECMAScript 2016
La convención de nombres de JavaScript comenzó con ES1, ES2, ES3, ES5 y ES6.
Pero ECMAScript 2016 y 2017 no se llamaron ES7 y ES8.
Desde 2016, las nuevas versiones se nombran por año (ECMAScript 2016/2017/2018).
Nuevas características en ECMAScript 2016
Este capítulo presenta las nuevas funciones de ECMAScript 2016:
- Exponenciación JavaScript (**)
- Asignación de exponenciación JavaScript (**=)
- JavaScript Array.prototype.incluye
Operador de exponenciación
El operador de exponenciación**
( ) eleva el primer operando a la potencia del segundo operando.
Ejemplo
let x = 5;
let z = x ** 2; // result is 25
x ** y
produce el mismo resultado que Math.pow(x, y)
:
Ejemplo
let x = 5;
let z = Math.pow(x,2); // result is 25
Asignación de exponenciación
El operador de asignación de exponenciación**=
( ) eleva el valor de una variable a la potencia del operando derecho.
Ejemplo
let x = 5;
x **= 2; // result 25
Chrome 52 y Edge 14 fueron los primeros navegadores en admitir completamente el Operador de exponenciación:
Chrome 52 | Edge 14 | Firefox 52 | Safari 10.1 | Opera 39 |
Jul 2016 | Aug 2016 | Mar 2017 | Mar 2017 | Aug 2016 |
Matriz de JavaScript.includes()
ECMAScript 2016 introducido Array.prototype.includes
a las matrices. Esto nos permite verificar si un elemento está presente en una matriz:
Ejemplo
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // is true
Todos los navegadores modernos admiten Array.prototype.includes:
Chrome 47 | Edge 14 | Firefox 43 | Safari 9 | Opera 34 |
Dec 2015 | Aug 2016 | Dec 2015 | Oct 2015 | Dec 2015 |