Math.pow() - JavaScript - MDN Web Docs

  • Skip to main content
  • Skip to search
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.

  • Learn more
  • See full compatibility
  • Report feedback

The Math.pow() static method returns the value of a base raised to a power. That is

𝙼𝚊𝚝𝚑.𝚙𝚘𝚠(𝚡,𝚢)=xy\mathtt{\operatorname{Math.pow}(x, y)} = x^y

In this article

  • Try it
  • Syntax
  • Description
  • Examples
  • Specifications
  • Browser compatibility
  • See also

Try it

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

jsMath.pow(base, exponent)

Parameters

base

The base number.

exponent

The exponent number.

Return value

A number representing base taken to the power of exponent. Returns NaN in one of the following cases:

  • exponent is NaN.
  • base is NaN and exponent is not 0.
  • base is ±1 and exponent is ±Infinity.
  • base < 0 and exponent is not an integer.

Description

Math.pow() is equivalent to the ** operator, except Math.pow() only accepts numbers.

Math.pow(NaN, 0) (and the equivalent NaN ** 0) is the only case where NaN doesn't propagate through mathematical operations — it returns 1 despite the operand being NaN. In addition, the behavior where base is 1 and exponent is non-finite (±Infinity or NaN) is different from IEEE 754, which specifies that the result should be 1, whereas JavaScript returns NaN to preserve backward compatibility with its original behavior.

Because pow() is a static method of Math, use it as Math.pow(), rather than as a method of a Math object you created (Math is not a constructor).

Examples

Using Math.pow()

js// 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

Specifications

Specification
ECMAScript® 2026 Language Specification# sec-math.pow

Browser compatibility

See also

  • Math.cbrt()
  • Math.exp()
  • Math.log()
  • Math.sqrt()
  • Exponentiation (**)

Help improve MDN

Was this page helpful to you? Yes No Learn how to contribute

This page was last modified on Jul 10, 2025 by MDN contributors.

View this page on GitHub • Report a problem with this content Filter sidebar
  1. Standard built-in objects
  2. Math
  3. Static methods
    1. abs()
    2. acos()
    3. acosh()
    4. asin()
    5. asinh()
    6. atan()
    7. atan2()
    8. atanh()
    9. cbrt()
    10. ceil()
    11. clz32()
    12. cos()
    13. cosh()
    14. exp()
    15. expm1()
    16. f16round()
    17. floor()
    18. fround()
    19. hypot()
    20. imul()
    21. log()
    22. log1p()
    23. log2()
    24. log10()
    25. max()
    26. min()
    27. pow()
    28. random()
    29. round()
    30. sign()
    31. sin()
    32. sinh()
    33. sqrt()
    34. sumPrecise()
    35. tan()
    36. tanh()
    37. trunc()
  4. Static properties
    1. E
    2. LN2
    3. LN10
    4. LOG2E
    5. LOG10E
    6. PI
    7. SQRT1_2
    8. SQRT2

Từ khóa » T Hoch 2