ES07 - Novas features no JavaScript
👋 Introdução
ES07 (EcmaScript 2016) foi lançado já faz um bom tempo, porém queremos reforçar o conhecimento da linguagem e vamos trazer uma série de posts apresentando as funcionalidades do EcmaScript, isto é, do bom e velho JavaScript.
Fizemos um post há três anos onde apresentamos As melhores features do ES6, ES7 e ES8 na didática do Diego Fernandes.
A versão ES07 traz duas funcionalidades: Operador Exponencial (Exponentiation Operator) e o método includes no Array.
💻 Operador Exponencial
Na matemática, exponenciação, também conhecida como potencialização, significa multiplicar a base por ela mesma, pela quantidade de vezes do expoente.
Exemplo: 2^3 = 2 x 2 x 2 = 8
No JavaScript utilizamos o objeto Math.pow(2,3) // 8
Mas agora temos um código mais limpo e nativo da própria linguagem:
2 ** 2 // 4
2 ** 3 // 8
5 ** 4 // 5 * 5 * 5 * 5 = 625
console.log(3 ** 4);
// Resultado: 81
console.log(10 ** -2);
// Resultado: 0.01
console.log(2 ** 3 ** 2);
// Resultado: 512
console.log((2 ** 3) ** 2);
// Resultado: 64
Esse tipo de código será utilizado em projetos de robotóca, construção de Apps para cálculos matemáticos e na área de física.
️💻 Função Array.includes()
O método Array.includes verifica se há algum valor dentro de um array. Deste modo, se sim, retorna true; se não, retorna false.
Sintaxe:
const numbers = [1, 2, 3];
console.log(numbers.includes(2));
// Resultado: true
console.log(numbers.includes(4));
// Resultado: false
Mais alguns exemplos:
// Array de Números
const numbers = [1, 2, 3];
console.log(numbers.includes(2));
// Resultado: true
// Array de Strings
const pets = ['cat', 'dog', 'bat'];
console.log(pets.includes('dog'));
// Resultado: true
console.log(pets.includes('at'));
// Resultado: false
// Diferente do includes da String que pegar o valor parcialmente.
console.log("thiago".includes("go"))
// Resultado: true
class Alumni {
constructor(name) {
this.name = name
}
}
// Alumni
const Thiago = new Alumni("thiago");
const Vini = new Alumni("vinicius");
const Dani = new Alumni("dani");
// Instrutores
const Diego = new Alumni('diego');
const Mayk = new Alumni('maykao')
// Array de Objetos
const alumniGoStack = [Thiago, Vini, Dani]
const instrutores = [Diego, Mayk]
console.log("Tem algum alumni Thiago?: ", alumniGoStack.includes(Thiago))
// Resultado: true
console.log("Tem algum alumni Pedro?: ", alumniGoStack.includes(new Alumni("pedro")))
// Resultado: false
console.log("Diego está entre os alunos do GoStack?", alumniGoStack.includes(Diego))
// Resultado: false
Método includes é bem simples de ser utilizar e muito útil. Mas não confunda o funcionamento dele com o includes da String.
👊 Conclusão
Dessas duas novas features, no seu dia a dia como dev, a funcionalidade de Array.includes será mais utilizada.
🔗 Links
- Exponentiation operador
- Includes
- tc39 - Fique por dentro do que está acontecendo no JavaScript.
- Spec
E aí, o que achou do post?
Espero que tenha curtido! 💜
O aprendizado é contínuo e sempre haverá um próximo nível! 🚀