Сегодня мы продолжим наш курс по JavaScript для начинающих. В этом уроке мы разберем, как работать с числами, выполнять математические операции, использовать методы объекта Math и правильно преобразовывать типы данных.
Математические операции
Числа это основа любой программы. В JavaScript они используются для расчетов, анимаций, игр и многого другого. Давайте изучим базовые операции.
1. Базовые операторы
JavaScript поддерживает стандартные арифметические операторы:
+
(сложение),-
(вычитание),*
(умножение),/
(деление),%
(остаток от деления),**
(возведение в степень).
Примеры:
console.log(5 + 2); // 7 console.log(10 - 3); // 7 console.log(4 * 2); // 8 console.log(10 / 2); // 5 console.log(10 % 3); // 1 (остаток от деления 10 на 3) console.log(2 ** 3); // 8 (2 в степени 3)
2. Инкремент и декремент
Эти операторы увеличивают или уменьшают значение переменной на 1.
++
(инкремент),--
(декремент).
Важно:
- Префиксная форма (
++a
) сначала изменяет значение, затем возвращает его. - Постфиксная форма (
a++
) возвращает исходное значение, затем изменяет его.
Пример:
let a = 5; console.log(a++); // 5 (сначала выводим, потом увеличиваем) console.log(a); // 6 let b = 10; console.log(++b); // 11 (сначала увеличиваем, потом выводим)
3. Комбинированные операторы
Для сокращения записи можно использовать операторы вида +=
, -=
, *=
, /=
.
Пример:
let x = 10; x += 5; // x = x + 5 → 15 x *= 2; // x = x * 2 → 30 console.log(x); // 30
Методы объекта Math
Объект Math
содержит полезные методы для работы с числами. Рассмотрим ключевые из них.
1. Округление чисел
Math.round(x)
— округляет до ближайшего целого.Math.ceil(x)
— округляет вверх («к потолку»).Math.floor(x)
— округляет вниз («к полу»).Math.trunc(x)
— отбрасывает дробную часть (работает какfloor
для положительных чисел).
Пример:
console.log(Math.round(3.7)); // 4 console.log(Math.ceil(2.1)); // 3 console.log(Math.floor(5.9)); // 5 console.log(Math.trunc(-3.9)); // -3 (в отличие от floor, который дал бы -4)
2. Генерация случайных чисел
Math.random()
возвращает случайное число от 0 (включительно) до 1 (не включая).
Чтобы получить число в заданном диапазоне, используйте формулу:
Math.random() * (max - min) + min
.
Пример:
// Случайное число от 1 до 10: let randomNumber = Math.floor(Math.random() * 10) + 1; console.log(randomNumber);
3. Другие полезные методы
Math.max(a, b, c...)
— возвращает наибольшее число.Math.min(a, b, c...)
— возвращает наименьшее число.Math.pow(a, b)
— возводитa
в степеньb
.Math.sqrt(a)
— вычисляет квадратный корень.
Пример:
console.log(Math.max(5, 10, 3)); // 10 console.log(Math.min(5, 10, 3)); // 3 console.log(Math.pow(2, 3)); // 8 console.log(Math.sqrt(16)); // 4
Преобразование типов данных
Часто данные приходят в виде строк (например, из полей ввода), и их нужно преобразовать в числа. Рассмотрим способы.
1. Явное преобразование
Number(value)
— преобразует строку в число. Если строка содержит нечисловые символы (кроме пробелов в начале/конце), вернетNaN
.parseInt(str)
— извлекает целое число из строки.parseFloat(str)
— извлекает дробное число из строки.
Примеры:
console.log(Number('123')); // 123 console.log(Number('123.45')); // 123.45 console.log(Number('123abc')); // NaN console.log(parseInt('100px')); // 100 console.log(parseFloat('12.5em')); // 12.5
2. Унарный плюс
Сокращенный способ преобразовать строку в число, поставить перед ней +
.
Пример:
let str = '50'; let num = +str; // 50 (число) console.log(typeof num); // number
3. Особенности преобразований
NaN
(Not a Number) — результат ошибки при преобразовании.- Проверить на
NaN
можно с помощьюisNaN(value)
.
Пример:
let result = Number('JavaScript'); console.log(result); // NaN console.log(isNaN(result)); // true
Практические задачи
Закрепим знания на практике! Решите задачи ниже.
Задача 1: Площадь круга
Напишите функцию circleArea(radius)
, которая вычисляет площадь круга по формуле π * r²
. Используйте Math.PI
.
Решение:
function circleArea(radius) { return Math.PI * radius ** 2; } console.log(circleArea(5)); // ≈78.54
Задача 2: Случайный пароль
Создайте функцию generatePassword(length)
, которая генерирует пароль из заданного количества цифр.
Решение:
function generatePassword(length) { let password = ''; for (let i = 0; i < length; i++) { password += Math.floor(Math.random() * 10); } return password; } console.log(generatePassword(6)); // Например, "283905"
Задача 3: Конвертер валют
Напишите код, который запрашивает у пользователя сумму в долларах и конвертирует ее в евро (курс: 1 USD = 0.93 EUR). Используйте prompt
и alert
.
Решение:
let dollars = prompt('Введите сумму в USD:'); let euros = Number(dollars) * 0.93; alert(`${dollars} USD = ${euros.toFixed(2)} EUR`);
Заключение
Сегодня мы изучили работу с числами в JavaScript. Выполнили математические операции, освоили методы объекта Math и научились преобразовывать типы данных. Обязательно потренируйтесь на задачах.
Полный курс «JavaScript для начинающих» доступен здесь — https://max-gabov.ru/javascript-dlya-nachinaushih