Start · Sprachen · JavaScript · Referenz · Math.pow()

Math.pow()

Methode

Die statische Methode <code>Math.pow()</code> gibt den Wert einer Basis potenziert mit einem Exponenten zurück.

Kategorie: method-property

Signatur

Math.pow(base, exponent)

Beschreibung

Die statische Methode Math.pow() gibt den Wert einer Basis potenziert mit einem Exponenten zurück. Das heißt: Math.pow(x, y) = x^y.

Math.pow() ist äquivalent zum Operator **, mit dem Unterschied, dass Math.pow() ausschließlich Zahlen akzeptiert.

Math.pow(NaN, 0) (und das äquivalente NaN ** 0) ist der einzige Fall, in dem NaN sich nicht durch mathematische Operationen fortpflanzt — es wird 1 zurückgegeben, obwohl der Operand NaN ist. Zudem weicht das Verhalten, wenn base gleich 1 und exponent nicht endlich (±Infinity oder NaN) ist, von IEEE 754 ab, welches vorschreibt, dass das Ergebnis 1 sein soll. JavaScript gibt hingegen NaN zurück, um die Rückwärtskompatibilität mit seinem ursprünglichen Verhalten zu wahren.

Da pow() eine statische Methode von Math ist, verwenden Sie sie stets als Math.pow() und nicht als Methode eines von Ihnen erstellten Math-Objekts (Math ist kein Konstruktor).

Parameter

Name Typ Default Beschreibung
$base Pflicht number Die Basiszahl.
$exponent Pflicht number Der Exponent.

Rückgabewert

Typ
number
Beschreibung
Eine Zahl, die base potenziert mit exponent darstellt. Gibt NaN in einem der folgenden Fälle zurück:
  • exponent ist NaN.
  • base ist NaN und exponent ist nicht 0.
  • base ist ±1 und exponent ist ±Infinity.
  • base < 0 und exponent ist keine ganze Zahl.

Beispiele

Verwendung von Math.pow()

// Basic cases
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024

// Fractional exponents
Math.pow(4, 0.5); // 2 (square root of 4)
Math.pow(8, 1 / 3); // 2 (cube root of 8)
Math.pow(2, 0.5); // 1.4142135623730951 (square root of 2)
Math.pow(2, 1 / 3); // 1.2599210498948732 (cube root of 2)

// Signed exponents
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5

// Signed bases
Math.pow(-7, 2); // 49 (squares are positive)
Math.pow(-7, 3); // -343 (cubes can be negative)
Math.pow(-7, 0.5); // NaN (negative numbers don't have a real square root)
// Due to "even" and "odd" roots laying close to each other,
// and limits in the floating number precision,
// negative bases with fractional exponents always return NaN,
// even when the mathematical result is real
Math.pow(-7, 1 / 3); // NaN

// Zero and infinity
Math.pow(0, 0); // 1 (anything ** ±0 is 1)
Math.pow(Infinity, 0.1); // Infinity (positive exponent)
Math.pow(Infinity, -1); // 0 (negative exponent)
Math.pow(-Infinity, 1); // -Infinity (positive odd integer exponent)
Math.pow(-Infinity, 1.5); // Infinity (positive exponent)
Math.pow(-Infinity, -1); // -0 (negative odd integer exponent)
Math.pow(-Infinity, -1.5); // 0 (negative exponent)
Math.pow(0, 1); // 0 (positive exponent)
Math.pow(0, -1); // Infinity (negative exponent)
Math.pow(-0, 1); // -0 (positive odd integer exponent)
Math.pow(-0, 1.5); // 0 (positive exponent)
Math.pow(-0, -1); // -Infinity (negative odd integer exponent)
Math.pow(-0, -1.5); // Infinity (negative exponent)
Math.pow(0.9, Infinity); // 0
Math.pow(1, Infinity); // NaN
Math.pow(1.1, Infinity); // Infinity
Math.pow(0.9, -Infinity); // Infinity
Math.pow(1, -Infinity); // NaN
Math.pow(1.1, -Infinity); // 0

// NaN: only Math.pow(NaN, 0) does not result in NaN
Math.pow(NaN, 0); // 1
Math.pow(NaN, 1); // NaN
Math.pow(1, NaN); // NaN

Interaktives Beispiel

console.log(Math.pow(7, 3));
// Expected output: 343

console.log(Math.pow(4, 0.5));
// Expected output: 2

console.log(Math.pow(7, -2));
// Expected output: 0.02040816326530612
//                  (1/49)

console.log(Math.pow(-7, 0.5));
// Expected output: NaN