Exponentes de JavaScript

Respuestas:

46

Hay un operador de potenciación, que es parte de la especificación final de ES7. Se supone que funciona de manera similar con python y matlab:

a**b // will rise a to the power b

Ahora ya está implementado en Edge14, Chrome52 , y también está disponible con traceur o babel.

Salvador Dalí
fuente
130

Math.pow():

js> Math.pow(12, 2)
144
Ignacio Vázquez-Abrams
fuente
2
Cuando miré a través de los Mathmétodos, vi exp, y cuando eso no funcionó, simplemente me rendí. xD Debería haber ido un poco más lejos. Oh bien. Gracias.
McKayla
9
@tylermwashburn: exp (x) es el número e elevado a la potencia x, es decir, e ^ x. e = 2.71828182846 ...
Andreas Rejbrand
¿Alguien sabe de dónde viene el nombre 'pow'?
Luca Steeb
4
@steebchen: Si preguntas sobre el origen del nombre, es la abreviatura de "poder", como en "dos elevado a tres". Si está preguntando qué idioma lo introdujo como una función, probablemente sería uno de los primeros en existir.
Ignacio Vazquez-Abrams
9

Math.pow(x, y)funciona bien para x ^ y e incluso evalúa la expresión cuando y no es un número entero. Un fragmento de código en el que no se basa Math.powpero que solo puede evaluar exponentes enteros es:

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)
  }
}
Anon Ymus
fuente
0

Cómo realizamos exponentes en JavaScript
según MDN
El operador de exponenciación devuelve el resultado de elevar el primer operando al segundo operando de potencia. Es decir, var1 var2, en la declaración anterior, donde var1 y var2 son variables. El operador de exponenciación es asociativo a la derecha: a ** b ** c es igual a a ** (b ** c).
Por ejemplo:
2**3// aquí 2 se multiplicará 3 veces por 2 y el resultado será 8.
4**4// aquí 4 se multiplicará 4 veces por 4 y el resultado será 256.

Mayank_VK
fuente