Урок 6: Операции и операторы в JavaScript’e

Сегодня мы разберем одну из ключевых тем в 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 → falsefalse → 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 (первое ложное значение)

Приоритет операторов

Приоритет определяет порядок выполнения операций в выражении. Например, умножение выполняется перед сложением.

Таблица приоритетов (от высокого к низкому)

  1. Группировка ()
  2. Инкремент/декремент (++--)
  3. Возведение в степень (**)
  4. Умножение, деление, остаток (*/%)
  5. Сложение и вычитание (+-)
  6. Сравнение (><>=<=)
  7. Равенство (=====!=!==)
  8. Логическое И (&&)
  9. Логическое ИЛИ (||)

Примеры

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: арифметические, сравнения и логические. Вы узнали, как выполнять вычисления, сравнивать значения и управлять логикой программы. Не забывайте о приоритете операторов и используйте скобки, чтобы избежать ошибок.

Практикуйтесь как можно больше! Попробуйте усложнить задачи:

  1. Добавьте проверку на ввод чисел в калькулятор ИМТ.
  2. Создайте программу для определения високосного года.
  3. Реализуйте конвертер валют с использованием курса ЦБ.

Полный курс «JavaScript для начинающих» доступен здесь:
https://max-gabov.ru/javascript-dlya-nachinaushih