Представьте, что вы пишете простую игру, где игрок зарабатывает очки, собирает бонусы и получает поздравительное сообщение при достижении нового уровня. Чтобы реализовать такую механику, нам нужно уметь складывать и вычитать очки, рассчитывать остаток жизней, умножать бонусы, а также красиво выводить сообщения.
В этом уроке мы познакомимся с операторами работы с примитивами в JavaScript — инструментами, которые позволяют обрабатывать числа и строки. Мы разберём математические операции, научимся соединять строки и использовать шаблонные строки для удобного форматирования текста.
Что вы узнаете в рамках статьи
- Какие математические операторы есть в JavaScript и как ими пользоваться.
- Как использовать оператор остатка от деления и возведение в степень.
- Что такое конкатенация строк и как она работает.
- Как применять интерполяцию (шаблонные строки) для более читаемого кода.
Ключевые термины
- Примитив — неизменяемое значение простого типа данных (числа, строки, булевы значения и др.).
- Математический оператор — специальный символ или комбинация символов, выполняющая арифметические операции.
- Конкатенация — объединение двух или более строк в одну.
- Интерполяция — встраивание переменных или выражений внутрь строки с использованием шаблонных литералов.
- Остаток от деления (
%) — часть, которая остаётся после деления числа на другое число без остатка.
1. Математические операторы
В JavaScript математические операторы позволяют работать с числами, выполняя базовые арифметические действия. Они применяются не только для простых расчётов, но и в логике приложений — например, для подсчёта очков, расчёта скидок, вычисления координат объектов на экране и т.д.
Сложение (+)
Оператор + складывает два числа и возвращает их сумму.
const sum = 5 + 3; // 8
Важно: если хотя бы один из операндов — строка, то
+будет работать как оператор конкатенации строк, а не сложения:
console.log(5 + "3"); // "53", а не 8
Используется, когда нужно суммировать значения, например, при подсчёте очков в игре или итоговой суммы в корзине интернет-магазина.
Вычитание (-)
Оператор - вычитает второе число из первого.
const difference = 10 - 4; // 6
Работает только как математическая операция, даже если один из операндов — строка с числом:
console.log("10" - 4); // 6
Полезно, например, для расчёта оставшегося времени или количества оставшихся предметов.
Умножение (*)
Оператор * перемножает два числа.
const product = 6 * 7; // 42
Часто используется для вычисления масштабов, цен с коэффициентом, площади и т.д.
Деление (/)
Оператор / делит первое число на второе.
const quotient = 20 / 5; // 4
Если деление не нацело, результат будет с плавающей точкой:
console.log(7 / 2); // 3.5
Особенность: деление на ноль в JavaScript не вызывает ошибку, а возвращает
Infinityили-Infinity, а0 / 0—NaN.
Остаток от деления (%)
Оператор % возвращает остаток после деления одного числа на другое.
const remainder = 10 % 3; // 1
Пример из жизни: у вас 10 яблок и 3 друга. Каждому можно выдать по 3 яблока, и 1 яблоко останется — это и есть остаток.
Остаток часто используется:
- для определения чётности числа (
num % 2 === 0); - для циклического перебора элементов (например, при переключении слайдов);
- в игровых механиках, когда нужно «сбрасывать» счётчик.
Возведение в степень (**)
Оператор ** возводит число в заданную степень.
const power = 2 ** 3; // 8
Это аналог Math.pow(2, 3), но более короткий и читаемый.
Используется:
- в математических расчётах;
- при вычислении геометрических величин;
- в финансовых формулах (например, процент с капитализацией).
2. Операторы работы со строками
В JavaScript строки — это упорядоченные последовательности символов, заключённые в одинарные ' ', двойные " " или обратные кавычки ```, которые позволяют хранить и обрабатывать текст.
Строки часто используют для вывода сообщений, хранения имён пользователей, формирования шаблонов писем, URL-адресов и множества других задач.
Конкатенация (+)
Оператор + объединяет две или более строки в одну. Это один из самых старых способов соединения текста в JavaScript.
const greeting = "Привет, ";
const name = "Мир!";
const message = greeting + name;
console.log(message); // "Привет, Мир!"
Особенности:
Если хотя бы один из операндов — строка, + выполняет конкатенацию, а не сложение чисел:
console.log(5 + "5"); // "55"
Конкатенацию можно использовать для «склеивания» значений переменных и текста:
const product = "ноутбук";
const price = 50000;
console.log("Цена на " + product + " — " + price + " рублей.");
Минус этого способа — при сложных строках код становится менее читаемым, особенно если нужно много подставлять переменных. В таких случаях лучше использовать интерполяцию.
Длина строки (.length)
Свойство .length возвращает количество символов в строке, включая пробелы и специальные символы.
const str = "Hello";
console.log(str.length); // 5
Примеры применения:
Проверка длины пароля:
const password = "12345";
if (password.length < 8) {
console.log("Пароль слишком короткий!");
}
Ограничение текста в интерфейсе (например, обрезка длинного заголовка).
Важно:
.length— это свойство, а не метод, поэтому оно используется без скобок.
Интерполяция (шаблонные строки)
Интерполяция — это встраивание значений переменных и выражений прямо внутрь строки с использованием шаблонных литералов (обратных кавычек ```).
const user = "Алексей";
console.log(`Привет, ${user}!`); // "Привет, Алексей!"
Преимущества:
Можно подставлять не только переменные, но и выражения:
const a = 5;
const b = 3;
console.log(`Сумма: ${a + b}`); // "Сумма: 8"
Поддерживает многострочные строки без дополнительных символов \n:
const text = `Это первая строка
А это вторая строка`;
console.log(text);
Частая ошибка: использование одинарных
'или двойных"кавычек вместо обратных. В таком случае подстановка не произойдёт:
console.log('Привет, ${user}'); // Выведет: Привет, ${user}
Наиболее частые ошибки
Использование + для чисел и строк без понимания типа
console.log(5 + "5"); // "55", а не 10
Причина: + для строки превращает числа в строки и выполняет конкатенацию.
Забывают про скобки в сложных выражениях
console.log(2 + 3 * 4); // 14, а не 20
Сначала выполняется умножение, потом сложение.
Неверное использование шаблонных строк
console.log('Привет, ${name}'); // Выведет текст без подстановки
Нужно использовать обратные кавычки ```, а не одинарные или двойные.
Наиболее частые вопросы
Вопрос: Можно ли использовать интерполяцию без обратных кавычек?
Ответ: Нет, интерполяция работает только с шаблонными литералами (обратные кавычки).
Вопрос: Почему 10 + "5" даёт "105"?
Ответ: Потому что JavaScript преобразует число к строке и выполняет конкатенацию.
Вопрос: Как округлить число?
Ответ: С помощью Math.round(), Math.floor(), Math.ceil().
Итоги
Сегодня мы:
- Изучили основные математические операторы (
+, , ,/,%,*). - Узнали, как работать со строками: конкатенация, длина строки, интерполяция.
- Разобрали типичные ошибки, чтобы их избежать в будущем.
Эти знания помогут вам в любой задаче, где нужно считать очки, формировать сообщения для пользователей или просто работать с числами и текстом. Теперь вы можете уверенно комбинировать математические и строковые операции в JavaScript.