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^3125
Отрицательная степень:
console.log(Math.pow(2, -3)); // 2^(-3) = 1 / (2^3)0.125
Дробная степень (корень):
console.log(Math.pow(16, 0.5)); // Квадратный корень из 164
Основание равно 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)); // Квадратный корень из -9NaN
Альтернативы в 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; // 125125 125
Python: Функция pow() или оператор **. Функция может принимать третий аргумент для модуля.
print(pow(5, 3))
print(5 ** 3)
print(pow(5, 3, 6)) # (5^3) % 6125 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() остаётся полностью поддерживаемой для обратной совместимости.
Расширенные примеры
Использование в функциях для расчёта площади или объёма:
function circleArea(radius) {
return Math.PI * Math.pow(radius, 2);
}
console.log(circleArea(3));28.274333882308138
Последовательное возведение в степень:
let result = Math.pow(2, Math.pow(3, 2)); // 2^(3^2) = 2^9
console.log(result);512
Применение для генерации геометрической прогрессии:
let a1 = 2, r = 3;
for(let n = 0; n < 5; n++) {
console.log(a1 * Math.pow(r, n));
}2 6 18 54 162
Использование с отрицательным основанием и целой степенью:
console.log(Math.pow(-5, 3));
console.log(Math.pow(-5, 4));-125 625
Расчёт корня n-ной степени через дробную степень:
let number = 27;
let rootDegree = 3;
console.log(Math.pow(number, 1/rootDegree)); // Кубический корень из 273
Проверка на чётность через возведение -1 в степень:
let n = 7;
console.log(Math.pow(-1, n) === -1 ? 'Нечётное' : 'Чётное');Нечётное