Сегодня мы разберем одну из ключевых тем в JavaScript, это операторы. Инструменты которые позволяют выполнять вычисления, сравнивать значения, управлять логикой программы и многое другое. В этом уроке мы рассмотрим арифметические, логические операторы и операторы сравнения, а также разберемся с их приоритетом.
Давайте начнем с основ и постепенно углубимся в детали.
Арифметические операторы
Арифметические операторы используются для выполнения математических операций с числами. Вот основные из них:
Оператор | Описание | Пример | Результат |
---|---|---|---|
+ |
Сложение | 5 + 3 |
8 |
- |
Вычитание | 7 - 2 |
5 |
* |
Умножение | 4 * 6 |
24 |
/ |
Деление | 9 / 3 |
3 |
% |
Остаток от деления | 10 % 3 |
1 |
** |
Возведение в степень | 2 ** 4 |
16 |
++ |
Инкремент (увеличение на 1) | let x = 5; x++ |
6 |
-- |
Декремент (уменьшение на 1) | let y = 8; y-- |
7 |
Примеры кода
let a = 10; let b = 3; console.log(a + b); // 13 console.log(a - b); // 7 console.log(a * b); // 30 console.log(a / b); // 3.333... console.log(a % b); // 1 (остаток от деления 10 на 3) console.log(a ** 2); // 100 (10 в квадрате) // Инкремент и декремент let counter = 0; counter++; // Постфиксная форма: возвращает 0, затем увеличивает до 1 console.log(counter); // 1 ++counter; // Префиксная форма: увеличивает до 2, затем возвращает 2 console.log(counter); // 2
Важно!
- Постфиксный инкремент (
x++
) сначала возвращает исходное значение, затем увеличивает переменную. - Префиксный инкремент (
++x
) сначала увеличивает переменную, затем возвращает новое значение.
Операторы сравнения
Операторы сравнения позволяют сравнивать значения и возвращают логическое значение true
или false
.
Оператор | Описание | Пример | Результат |
---|---|---|---|
== |
Равно (нестрогое) | 5 == "5" |
true |
=== |
Равно (строгое) | 5 === "5" |
false |
!= |
Не равно (нестрогое) | 5 != "6" |
true |
!== |
Не равно (строгое) | 5 !== "5" |
true |
> |
Больше | 10 > 5 |
true |
< |
Меньше | 10 < 5 |
false |
>= |
Больше или равно | 10 >= 10 |
true |
<= |
Меньше или равно | 5 <= 3 |
false |
Примеры
console.log(5 == "5"); // true (типы не проверяются) console.log(5 === "5"); // false (разные типы: number vs string) console.log(0 == false); // true (0 преобразуется в false) console.log(0 === false); // false (разные типы) console.log(10 > 5); // true console.log("10" < 5); // false ("10" преобразуется в 10, что больше 5)
Всегда используйте строгое сравнение (===
и !==
), чтобы избежать скрытых ошибок из-за автоматического преобразования типов.
Логические операторы
Логические операторы работают с булевыми значениями (true
/false
) и часто используются в условиях.
Оператор | Описание | Пример | Результат | ||||
---|---|---|---|---|---|---|---|
&& |
Логическое И (AND) | true && false |
false |
||||
` | ` | Логическое ИЛИ (OR) | `true | false` | true |
||
! |
Логическое НЕ (NOT) | !true |
false |
Как это работает?
&&
(И): Возвращаетtrue
, если оба операнда истинны.||
(ИЛИ): Возвращаетtrue
, если хотя бы один операнд истинен.!
(НЕ): Инвертирует значение (true
→false
,false
→true
).
Примеры
let age = 25; let hasLicense = true; // Проверка: возраст >= 18 И наличие прав console.log(age >= 18 && hasLicense); // true let isWeekend = false; let isHoliday = true; // Проверка: выходной ИЛИ праздник console.log(isWeekend || isHoliday); // true // Инвертирование console.log(!isWeekend); // true
Особенность JavaScript:
Логические операторы могут возвращать не только true
или false
, но и значение одного из операндов.
Например:
console.log(0 || "Привет"); // "Привет" (первое истинное значение) console.log(null && 42); // null (первое ложное значение)
Приоритет операторов
Приоритет определяет порядок выполнения операций в выражении. Например, умножение выполняется перед сложением.
Таблица приоритетов (от высокого к низкому)
- Группировка
()
- Инкремент/декремент (
++
,--
) - Возведение в степень (
**
) - Умножение, деление, остаток (
*
,/
,%
) - Сложение и вычитание (
+
,-
) - Сравнение (
>
,<
,>=
,<=
) - Равенство (
==
,===
,!=
,!==
) - Логическое И (
&&
) - Логическое ИЛИ (
||
)
Примеры
let result = 5 + 3 * 2; // 11 (умножение выполняется первым) console.log(result); result = (5 + 3) * 2; // 16 (скобки меняют приоритет) console.log(result); // Сравнение vs логическое И console.log(10 > 5 && 5 < 3); // false (сначала выполняется 10 > 5 → true, затем 5 < 3 → false)
Используйте скобки, чтобы явно задать порядок операций и сделать код читаемым.
Практические задачи
Задача 1: Калькулятор ИМТ
Напишите программу, которая вычисляет индекс массы тела (ИМТ) по формуле:
ИМТ = вес (кг) / (рост (м) ** 2)
let weight = 70; // кг let height = 1.75; // м let bmi = weight / (height ** 2); console.log(`Ваш ИМТ: ${bmi.toFixed(2)}`);
Задача 2: Проверка входа
Пользователь вводит логин и пароль. Проверьте:
- Логин должен быть не менее 6 символов.
- Пароль должен содержать минимум 8 символов и не совпадать с логином.
let login = "user123"; let password = "qwerty12"; let isLoginValid = login.length >= 6; let isPasswordValid = password.length >= 8 && password !== login; console.log(isLoginValid && isPasswordValid); // true или false
Задача 3: Калькулятор скидки
Если сумма покупки больше 5000 рублей, дается скидка 10%. Вычислите итоговую сумму.
let total = 6000; let discount = total > 5000 ? total * 0.1 : 0; console.log(`Итоговая сумма: ${total - discount} руб.`);
Заключение
Сегодня мы разобрали ключевые операторы в JavaScript: арифметические, сравнения и логические. Вы узнали, как выполнять вычисления, сравнивать значения и управлять логикой программы. Не забывайте о приоритете операторов и используйте скобки, чтобы избежать ошибок.
Практикуйтесь как можно больше! Попробуйте усложнить задачи:
- Добавьте проверку на ввод чисел в калькулятор ИМТ.
- Создайте программу для определения високосного года.
- Реализуйте конвертер валют с использованием курса ЦБ.
Полный курс «JavaScript для начинающих» доступен здесь:
https://max-gabov.ru/javascript-dlya-nachinaushih