ECMAScript 2016

As convenções de nomenclatura do JavaScript começaram com ES1, ES2, ES3, ES5 e ES6.

Mas, ECMAScript 2016 e 2017 não são chamados de ES7 e ES8.

Desde 2016, as novas versões são nomeadas por ano (ECMAScript 2016/2017/2018).

Novas funcionalidades do ECMAScript 2016

Este capítulo apresenta as novas funcionalidades do ECMAScript 2016:

  • JavaScript potência (**)
  • JavaScript atribuição de potência (**=)
  • JavaScript Array.prototype.includes

Operador de potência

Operador de potência (**) Aumenta o primeiro operando para a potência do segundo operando.

Exemplo

let x = 5;
let z = x ** 2;          // O resultado é: 25

Experimente você mesmo

x ** y Produzido com Math.pow(x, y) O mesmo resultado:

Exemplo

let x = 5;
let z = Math.pow(x, 2);   // O resultado é: 25

Experimente você mesmo

Atribuição de potência

Operador de atribuição de potência (**=) Aumenta o valor da variável para a potência do operando à direita.

Exemplo

let x = 5;
x **= 2; // O resultado é 25

Experimente você mesmo

Chrome 52 e Edge 14 são os primeiros navegadores a suportar completamente o operador de exponenciação:

Chrome IE Firefox Safari Opera
Chrome 52 Edge 14 Firefox 52 Safari 10.1 Opera 39
Julho de 2016 Agosto de 2016 Março de 2017 Março de 2017 Agosto de 2016

JavaScript Array.includes()

ECMAScript 2016 introduz Array.prototype.includes Introduzindo arrays. Isso nos permite verificar se um elemento existe no array:

Exemplo

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // true

Experimente você mesmo

Todos os navegadores modernos suportam Array.prototype.includes:

Chrome IE Firefox Safari Opera
Chrome 47 Edge 14 Firefox 43 Safari 9 Opera 34
Dezembro de 2015 Agosto de 2016 Dezembro de 2015 Outubro de 2015 Dezembro de 2015