Math.pow()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die statische Methode Math.pow()
gibt den Wert einer Basis zurück, der auf eine Potenz erhöht wird. Das bedeutet
Probieren Sie es aus
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
Syntax
Math.pow(base, exponent)
Parameter
Rückgabewert
Eine Zahl, die die Basis (base
) darstellt, die auf die Potenz des Exponenten (exponent
) erhöht wird. Gibt NaN
in einem der folgenden Fälle zurück:
exponent
istNaN
.base
istNaN
undexponent
ist nicht0
.base
ist ±1 undexponent
ist ±Infinity
.base < 0
undexponent
ist keine ganze Zahl.
Beschreibung
Math.pow()
ist äquivalent zum **
Operator, außer dass Math.pow()
nur Zahlen akzeptiert.
Math.pow(NaN, 0)
(und das äquivalente NaN ** 0
) ist der einzige Fall, bei dem NaN
nicht durch mathematische Operationen weitergegeben wird — es gibt 1
zurück, obwohl der Operand NaN
ist. Darüber hinaus unterscheidet sich das Verhalten, wenn base
1 ist und exponent
nicht endlich (±Infinity oder NaN
) ist, von IEEE 754, das spezifiziert, dass das Ergebnis 1 sein sollte, während JavaScript NaN
zurückgibt, um die Rückwärtskompatibilität mit seinem ursprünglichen Verhalten zu bewahren.
Da pow()
eine statische Methode von Math
ist, verwenden Sie sie als Math.pow()
, anstatt als Methode eines erstellen Math
Objekts (Math
ist kein Konstruktor).
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
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-math.pow |