Pow: примеры (JAVASCRIPT)

Math.pow() в JavaScript: полный обзор функции для возведения в степень
Раздел: Математика, Степень
pow(base, exponent): number

Описание функции Math.pow()

Функция Math.pow() возвращает основание, возведённое в степень. Она является частью глобального объекта Math и применяется для математических вычислений, где требуется возведение в степень.

Синтаксис:

Math.pow(base, exponent)

Аргументы:

  • base (основание): Число, которое возводится в степень. Может быть целым, дробным, отрицательным.
  • exponent (показатель степени): Число, указывающее степень. Может быть целым, дробным, отрицательным.

Возвращаемое значение:

  • Число, представляющее результат возведения base в степень exponent.
  • NaN, если основание или степень не являются числами и не могут быть преобразованы в число.
  • Если основание равно 1, возвращается 1 для любого показателя степени.
  • Если основание равно NaN, возвращается NaN.
  • Если показатель степени равен 0, возвращается 1 для любого основания, кроме случаев, когда основание также равно 0 (возвращает 1) или NaN (возвращает NaN).
  • Для отрицательного основания и дробного показателя результатом часто будет NaN, так как результат является комплексным числом.

Короткие примеры использования

Целая положительная степень:

console.log(Math.pow(5, 3)); // 5^3
125

Отрицательная степень:

console.log(Math.pow(2, -3)); // 2^(-3) = 1 / (2^3)
0.125

Дробная степень (корень):

console.log(Math.pow(16, 0.5)); // Квадратный корень из 16
4

Основание равно 0:

console.log(Math.pow(0, 5));
console.log(Math.pow(0, -2));
0
Infinity

Показатель степени равен 0:

console.log(Math.pow(10, 0));
console.log(Math.pow(-10, 0));
1
1

Основание отрицательное, степень дробная:

console.log(Math.pow(-9, 0.5)); // Квадратный корень из -9
NaN

Альтернативы в JavaScript

Оператор возведения в степень (**): Появился в ES2016 (ES7). Более удобный синтаксис.

console.log(5 ** 3);
console.log(2 ** -3);
console.log(16 ** 0.5);
125
0.125
4

Оператор ** обычно предпочтительнее из-за краткости записи. Функция Math.pow() остаётся актуальной для совместимости или когда нужно явно указать на математическую операцию.

Math.sqrt(x): Специальная функция для вычисления квадратного корня (аналогично Math.pow(x, 0.5)).

console.log(Math.sqrt(16));
4

Аналоги в других языках программирования

PHP: Функция pow() или оператор **.

echo pow(5, 3); // 125
echo 5 ** 3;    // 125
125
125

Python: Функция pow() или оператор **. Функция может принимать третий аргумент для модуля.

print(pow(5, 3))
print(5 ** 3)
print(pow(5, 3, 6)) # (5^3) % 6
125
125
5

MySQL: Функции POW() или POWER().

SELECT POW(5, 3);
125

C/C++: Функция pow() из библиотеки math.h (cmath в C++). Работает с числами с плавающей точкой.

#include 
printf("%f", pow(5.0, 3.0));
125.000000

Основное отличие — синтаксис и наличие дополнительных параметров (как модуль в Python). В JavaScript Math.pow() всегда возвращает число с плавающей точкой.

Типичные ошибки

Передача нечисловых аргументов:

console.log(Math.pow('5', '2')); // JS преобразует строки в числа
console.log(Math.pow('abc', 2));
25
NaN

Неправильный результат для отрицательного основания и дробной степени:

console.log(Math.pow(-9, 1/2)); // Ожидается комплексное число
NaN

Большие степени могут приводить к значению Infinity:

console.log(Math.pow(10, 1000));
Infinity

Путаница между оператором ^ (побитовый XOR) и возведением в степень:

console.log(5 ^ 3); // Это не степень!
6

Изменения в последних версиях

Спецификация ECMAScript не вносила значительных изменений в поведение Math.pow() в последних версиях. Основным развитием стало появление в ES2016 (ES7) оператора возведения в степень **, который предоставляет альтернативный, более краткий синтаксис для той же математической операции. Функция Math.pow() остаётся полностью поддерживаемой для обратной совместимости.

Расширенные примеры

Использование в функциях для расчёта площади или объёма:

Пример javascript
function circleArea(radius) {
  return Math.PI * Math.pow(radius, 2);
}
console.log(circleArea(3));
28.274333882308138

Последовательное возведение в степень:

Пример javascript
let result = Math.pow(2, Math.pow(3, 2)); // 2^(3^2) = 2^9
console.log(result);
512

Применение для генерации геометрической прогрессии:

Пример javascript
let a1 = 2, r = 3;
for(let n = 0; n < 5; n++) {
  console.log(a1 * Math.pow(r, n));
}
2
6
18
54
162

Использование с отрицательным основанием и целой степенью:

Пример javascript
console.log(Math.pow(-5, 3));
console.log(Math.pow(-5, 4));
-125
625

Расчёт корня n-ной степени через дробную степень:

Пример javascript
let number = 27;
let rootDegree = 3;
console.log(Math.pow(number, 1/rootDegree)); // Кубический корень из 27
3

Проверка на чётность через возведение -1 в степень:

Пример javascript
let n = 7;
console.log(Math.pow(-1, n) === -1 ? 'Нечётное' : 'Чётное');
Нечётное

JS pow function comments

En
Pow Returns the base to the exponent power