Respostas:
Existe um operador de exponenciação , que faz parte da especificação final ES7. Supõe-se que ele funcione de maneira semelhante com python e matlab:
a**b // will rise a to the power b
Agora já está implementado no Edge14, Chrome52 , e também está disponível com traceur ou babel.
js> Math.pow(12, 2)
144
Math
métodos, vi exp
, e quando isso não funcionou, simplesmente desisti. xD Deveria ter ido um pouco mais longe. Ah bem. Obrigado.
Math.pow(x, y)
funciona bem para x ^ y e até avalia a expressão quando y não é um inteiro. Um trecho de código não confiável, Math.pow
mas que só pode avaliar expoentes inteiros, é:
function exp(base, exponent) {
exponent = Math.round(exponent);
if (exponent == 0) {
return 1;
}
if (exponent < 0) {
return 1 / exp(base, -exponent);
}
if (exponent > 0) {
return base * exp(base, exponent - 1)
}
}
Como executamos expoentes em JavaScript de
acordo com MDN
O operador de exponenciação retorna o resultado de elevar o primeiro operando ao segundo operando potente. Ou seja, var1 var2, na instrução anterior, onde var1 e var2 são variáveis. O operador de exponenciação é associativo à direita: a ** b ** c é igual a a ** (b ** c).
Por exemplo:
2**3
// aqui 2 irá multiplicar 3 vezes por 2 e o resultado será 8.
4**4
// aqui 4 irá multiplicar 4 vezes por 4 e o resultado será 256.