Versões JS antigas são nomeadas por números: ES5 (2009) e ES6 (2015).
A partir de 2016, as versões são nomeadas por ano: ECMAScript 2016, 2017, 2018, 2019, ...
Este capítulo apresenta os novos recursos do ECMAScript 2016:
Exponenciação JavaScript (**)
Atribuição de exponenciação JavaScript (**=)
Matriz JavaScript inclui()
O operador exponenciação (**
) eleva o primeiro operando à potência do segundo operando.
let x = 5;
let z = x ** 2;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>The ** Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let z = x ** 2;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
x ** y
produz o mesmo resultado que Math.pow(x, y)
:
let x = 5;
let z = Math.pow(x,2);
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>Math.pow()</h2>
<p id="demo"></p>
<script>
let x = 5;
let z = Math.pow(x, 2)
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
let x = 5;
x **= 2;
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>Exponentiation Assignment (**=)</h2>
<p id="demo"></p>
<script>
let x = 5;
x **= 2;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
O Operador de Exponenciação é compatível com todos os navegadores modernos desde março de 2017:
Chrome 52 | Edge 14 | Firefox 52 | Safari 10.1 | Opera 39 |
Jul 2016 | Aug 2016 | Mar 2017 | Mar 2017 | Aug 2016 |
ECMAScript 2016 introduziu Array.includes
em arrays.
Isso nos permite verificar se um elemento está presente em um array:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango");
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The includes() Method</h2>
<p>Check if the fruit array contains "Mango":</p>
<p id="demo"></p>
<p><strong>Note:</strong> The includes method is not supported in Edge 13 (and earlier versions).</p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.includes("Mango");
</script>
</body>
</html>
Array.includes
é compatível com todos os navegadores modernos desde agosto de 2016:
Chrome 47 | Edge 14 | Firefox 43 | Safari 9 | Opera 34 |
Dec 2015 | Aug 2016 | Dec 2015 | Oct 2015 | Dec 2015 |