Math.pow() возводит число в степень.
Это классический способ записать операцию вида “основание в степени показатель” в JavaScript.
Синтаксис
Math.pow(base, exponent)
base- основаниеexponent- показатель степени
Что делает Math.pow()
Метод берёт число и возводит его в указанную степень.
console.log(Math.pow(2, 3)); // 8
console.log(Math.pow(5, 2)); // 25
То есть Math.pow(a, b) означает a в степени b.
Что возвращает Math.pow()
Math.pow() возвращает число типа number.
const result = Math.pow(3, 4);
console.log(result); // 81
console.log(typeof result); // "number"
Степень 0
Любое ненулевое число в степени 0 даёт 1.
console.log(Math.pow(5, 0)); // 1
console.log(Math.pow(-3, 0)); // 1
Отрицательная степень
Если показатель степени отрицательный, результатом будет дробь.
console.log(Math.pow(2, -1)); // 0.5
console.log(Math.pow(2, -2)); // 0.25
Это то же самое, что 1 / Math.pow(base, positiveExponent).
Дробная степень
Показатель степени может быть не только целым, но и дробным.
console.log(Math.pow(9, 0.5)); // 3
console.log(Math.pow(27, 1 / 3)); // 3
Так можно получать корни:
- степень
0.5- это квадратный корень - степень
1 / 3- это кубический корень
Отрицательное основание и дробная степень
Здесь есть важный нюанс.
console.log(Math.pow(-9, 0.5)); // NaN
Не каждое отрицательное число можно корректно возвести в дробную степень в обычных числах JavaScript.
Math.pow() и оператор **
Сегодня Math.pow() часто сравнивают с оператором **.
console.log(Math.pow(2, 3)); // 8
console.log(2 ** 3); // 8
По результату это одно и то же.
Разница в записи:
Math.pow(2, 3)- это вызов метода2 ** 3- это специальный оператор
В современном коде часто используют именно **, потому что он короче и читается естественнее.
Math.pow() и умножение
Для небольших степеней можно просто умножать число само на себя, но Math.pow() удобнее и понятнее.
console.log(Math.pow(3, 2)); // 9
console.log(3 * 3); // 9
Особенно это полезно, когда показатель степени не зашит прямо в коде.
0 в степени 0
В JavaScript этот случай возвращает 1.
console.log(Math.pow(0, 0)); // 1
Это может выглядеть неожиданно, но именно так работает метод.
Неявное приведение типов
Math.pow() пытается привести аргументы к числам.
console.log(Math.pow("2", "3")); // 8
console.log(Math.pow(true, 3)); // 1
console.log(Math.pow(null, 2)); // 0
На практике обычно лучше передавать уже готовые числа.
NaN и специальные значения
Если аргументы не удаётся корректно обработать как числа, результатом может стать NaN.
console.log(Math.pow(NaN, 2)); // NaN
console.log(Math.pow(2, NaN)); // NaN
Число не меняется
Math.pow() не изменяет исходные значения. Он только возвращает новый результат.
const base = 2;
const exponent = 3;
const result = Math.pow(base, exponent);
console.log(base); // 2
console.log(exponent); // 3
console.log(result); // 8
Когда это полезно
Math.pow() удобно использовать, когда:
- нужно возвести число в степень
- показатель степени хранится в переменной
- хочется явно показать операцию через метод
Пример:
const side = 4;
console.log(Math.pow(side, 2)); // 16
Частые ошибки
Путать Math.pow() с умножением на показатель
console.log(Math.pow(2, 3)); // 8
Это не 2 * 3, а 2 * 2 * 2.
Забывать, что отрицательная степень даёт дробь
console.log(Math.pow(2, -2)); // 0.25
Здесь результат не отрицательный, а обратный.
Удивляться NaN при отрицательном основании и дробной степени
console.log(Math.pow(-9, 0.5)); // NaN
Это нормальное поведение для обычных чисел JavaScript.
Быстрая памятка
Math.pow(base, exponent)возводит число в степень- метод возвращает
number - отрицательная степень даёт дробный результат
- дробная степень может использоваться для корней
Math.pow()и**дают одинаковый результат- в современном коде
**часто читается проще
Коротко
Math.pow() - это стандартный способ возвести число в степень в JavaScript. Главное, что стоит запомнить: отрицательные степени дают дробь, дробные степени могут использоваться для корней, а в современном коде рядом с ним часто используют более короткий оператор **.