Math.sqrt() вычисляет квадратный корень числа.
Это один из самых понятных методов Math, когда нужно получить число, которое при умножении само на себя даёт исходное значение.
Синтаксис
Math.sqrt(x)
x - число, для которого нужно найти квадратный корень.
Что делает Math.sqrt()
Метод возвращает квадратный корень числа.
console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(16)); // 4
То есть:
Math.sqrt(9)даёт3- потому что
3 * 3 = 9
Что возвращает Math.sqrt()
Math.sqrt() возвращает число типа number.
const result = Math.sqrt(25);
console.log(result); // 5
console.log(typeof result); // "number"
Не только целые результаты
Квадратный корень не всегда получается целым.
console.log(Math.sqrt(2)); // 1.4142135623730951
Это нормальное поведение. Метод возвращает точный числовой результат настолько, насколько позволяет формат number.
Корень из 0
Для нуля результат тоже предсказуемый.
console.log(Math.sqrt(0)); // 0
Отрицательные числа
Вот здесь важный момент.
console.log(Math.sqrt(-1)); // NaN
В обычных числах JavaScript квадратный корень из отрицательного числа не вычисляется, поэтому результатом будет NaN.
Math.sqrt() и Math.pow(x, 0.5)
Эти записи дают один и тот же результат.
console.log(Math.sqrt(9)); // 3
console.log(Math.pow(9, 0.5)); // 3
Разница только в форме записи:
Math.sqrt(x)прямо говорит “квадратный корень”Math.pow(x, 0.5)выражает ту же идею через степень
Если нужен именно квадратный корень, Math.sqrt() обычно читается понятнее.
Math.sqrt() и Math.cbrt()
Math.sqrt() работает именно с квадратным корнем.
console.log(Math.sqrt(9)); // 3
Если нужен кубический корень, это уже другая задача и другой метод.
Неявное приведение типов
Math.sqrt() сначала пытается привести аргумент к числу.
console.log(Math.sqrt("9")); // 3
console.log(Math.sqrt(null)); // 0
console.log(Math.sqrt(true)); // 1
console.log(Math.sqrt(undefined)); // NaN
На практике обычно лучше передавать в метод уже готовое число.
NaN и Infinity
Для специальных значений метод ведёт себя предсказуемо.
console.log(Math.sqrt(NaN)); // NaN
console.log(Math.sqrt(Infinity)); // Infinity
Число не меняется
Math.sqrt() не изменяет исходное значение. Он только возвращает новый результат.
const value = 49;
const root = Math.sqrt(value);
console.log(value); // 49
console.log(root); // 7
Когда это полезно
Math.sqrt() удобно использовать, когда:
- нужно найти длину, расстояние или диагональ
- важно получить квадратный корень явно и читаемо
- вы работаете с формулами, где есть
x^2
Пример:
const area = 64;
console.log(Math.sqrt(area)); // 8
Частые ошибки
Ждать нормальное число для отрицательного значения
console.log(Math.sqrt(-9)); // NaN
Для обычных чисел JavaScript это нормальный результат.
Путать квадратный корень с округлением
console.log(Math.sqrt(10)); // 3.1622776601683795
Метод не округляет число, а вычисляет корень.
Забывать про неявное приведение типов
console.log(Math.sqrt(null)); // 0
Это происходит потому, что null приводится к 0.
Быстрая памятка
Math.sqrt()вычисляет квадратный корень- метод возвращает
number - для отрицательных чисел результатом будет
NaN Math.sqrt(x)иMath.pow(x, 0.5)дают один и тот же результат- если нужен именно квадратный корень,
Math.sqrt()обычно читается проще
Коротко
Math.sqrt() - это стандартный способ найти квадратный корень числа в JavaScript. Главное, что стоит запомнить: для отрицательных значений метод возвращает NaN, а если нужен именно квадратный корень, запись через Math.sqrt() обычно понятнее, чем через степень 0.5.