Novo Operador Exponencial Javascript

Talvez você já tenha se deparado com a necessidade de utilizar o operador exponencial no javascript.

Math.pow(2,2) // 2 * 2 = 4 

Pra mim esta forma de utilização sempre foi muito estranha, mas aceitável, uma vez que você entende os operadores matemáticos do javascript. É um alívio saber que o javascript está em constante desenvolvimento. O ECMAScript que é a versão mais recente do JS, teve uma atualização na forma de utilização de exponencial, mais precisamente o ECMAScript 7, ES7. A nova forma envolve a utilização de dois sinais de multiplicação.

const exponencial = 2 ** 2;

Esta forma é muito mais intuitiva e fácil de usar. Há alguns dias eu ouvia o criador do Javascript Brendan Eich falar em uma conferência de JS que ele estava desenvolvendo o ES7 e copiando a forma como algumas das linguagens operavam, mais especificamente o Pearl. Para a minha surpresa eu descobri que os operadores exponenciais em outras linguagens também trabalham assim, não somente no Pearl.

// Python
a ** b
// Ruby
a ** b
// Pearl
a ** b
// F#
a ** b

Esta forma de implementar novas funcionalidades de forma parecida com outras linguagens realmente me agrada. Desta forma a curva de aprendizado para qualquer outra linguagem fica muito mais fácil para qualquer pessoa que deseje iniciar no mundo JS.

Operador de atribuição

O operador de atribuição é utilizado para realizar uma operação matemática ao valor de uma variável e um novo valor.

var valor = 5;
valor += 10; // 15

A variável recebe o valor dela mesma e realiza a operação matemática à que o sinal antes do = se refere. Neste caso é uma soma.

O novo operador exponencial também funciona da mesma forma, basta utilizar o novo sinal para que a mágica aconteça.

var valor = 5;
valor **= 2; // 25

Base negativa

Existe no em tanto uma armadilha nesta nova forma de utilizar o exponencial. Bases negativas não são tratadas automaticamente.

// Erro de sintaxe
const errado = -2 ** 4;

// Sintaxe correta
const correto = (-2) ** 4;

Para utilizar a base negativa será preciso que você envolva o valor negativo com parênteses. Coisa que com a versão antiga não era preciso.

// Não apresenta erro
Math.pow(-2,2);

Resumo

Trabalhar com exponencial ficou muito mais intuitivo. Não esqueça do truque com valores negativos. Javascript está evoluindo e a comunidade só cresce à cada dia, não será novidade se “novas” formas de utilizar operadores matemáticos sejam parecidas com outras linguagens. Fique antenado para novos posts.

Até mais!

Fontes

Leave a comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Copyright © – Jonatan Pietroski