Операторы сравнения

Урок: Операторы сравнения

Введение

В реальной жизни мы постоянно что-то сравниваем. Достаточно ли денег на покупку? Больше ли одно число другого? Совпадает ли введённый пароль с правильным?

Такие простые вопросы лежат в основе любой логики — и в программировании происходит то же самое. Когда пользователь нажимает кнопку, вводит данные или проходит проверку, программа должна сравнить значения и принять решение.

Например, если возраст пользователя больше или равен 18 — разрешить доступ. Если пароль совпадает — впустить в систему. Если нет — показать ошибку.

Чтобы это стало возможным, в JavaScript существуют операторы сравнения. Они позволяют программе «задавать вопросы» и получать чёткий ответ: true или false.

Именно на этих ответах строится вся логика приложения.


Как работает сравнение в JavaScript

Оператор сравнения — это специальный символ, который сравнивает два значения и возвращает логический результат: true или false.

Рассмотрим простой пример:

let result = 5 > 3;

console.log(result);

Здесь выражение 5 > 3 проверяет, больше ли 5, чем 3. Результат — true.

Важно понять: сравнение — это не действие, которое что-то изменяет. Это проверка, которая возвращает результат.

Этот результат чаще всего используется в условиях:

let age = 20;

if (age >= 18) {
  console.log('Доступ разрешён');
}

Здесь age >= 18 — это сравнение, которое возвращает true, и поэтому выполняется код внутри if.


Основные операторы сравнения

В JavaScript есть несколько базовых операторов, которые используются чаще всего.

Рассмотрим их через примеры:

console.log(5 > 3); // больше
console.log(5 < 3); // меньше
console.log(5 >= 5); // больше или равно
console.log(5 <= 4); // меньше или равно

Каждое выражение возвращает true или false.

Например:

  • 5 > 3 → true
  • 5 < 3 → false
  • 5 >= 5 → true

Эти операторы используются, когда нужно сравнить числовые значения.


Сравнение на равенство

Отдельно стоит рассмотреть сравнение на равенство, потому что здесь есть важная особенность.

В JavaScript есть два варианта:

console.log(5 == '5');
console.log(5 === '5');

Результаты будут разными.

== (нестрогое равенство) попытается привести значения к одному типу. В этом случае строка "5" превращается в число, и результат будет true.

=== (строгое равенство) сравнивает и значение, и тип. Здесь число и строка — разные типы, поэтому результат будет false.

Разберём подробнее:

console.log(5 == '5'); // true
console.log(5 === '5'); // false

Это одна из самых частых причин ошибок у начинающих.

Поэтому на практике почти всегда используют именно ===, чтобы избежать неожиданных преобразований типов.


Сравнение на неравенство

Аналогично работают операторы «не равно»:

console.log(5 != '5');
console.log(5 !== '5');

!= — нестрогое неравенство (с приведением типов), !== — строгое неравенство (без приведения типов).

Пример:

console.log(5 != '5'); // false
console.log(5 !== '5'); // true

В первом случае значения считаются равными после преобразования. Во втором — нет, потому что типы разные.


Сравнение строк

Интересный момент: строки тоже можно сравнивать.

console.log('apple' > 'banana');

Результат будет false.

JavaScript сравнивает строки по алфавиту (точнее, по кодам символов). Это означает, что сравнение происходит посимвольно.

Ещё пример:

console.log('cat' > 'car');

Здесь результат будет true, потому что буква t идёт позже, чем r.

Такие сравнения могут использоваться, например, при сортировке данных.


Неочевидные моменты при сравнении

JavaScript иногда ведёт себя неожиданно, если сравниваются разные типы данных.

Рассмотрим пример:

console.log(null == undefined);
console.log(null === undefined);

Результаты:

  • null == undefined → true
  • null === undefined → false

Это связано с тем, что нестрогое сравнение допускает особые правила.

Ещё пример:

console.log('10' > 5);

Здесь строка "10" преобразуется в число, и результат будет true.

Такие преобразования могут сбивать с толку, поэтому важно помнить: чем меньше неявных преобразований, тем надёжнее код.


Где это используется на практике

Операторы сравнения лежат в основе всей логики программ.

Когда ты проверяешь форму — сравниваются введённые данные. Когда реализуешь авторизацию — сравнивается пароль. Когда фильтруешь список товаров — сравниваются значения. Когда пишешь условия — всегда используется сравнение.

Без них невозможно написать ни одно осмысленное приложение.

Любое ветвление (if, switch) начинается именно с результата сравнения.


Итоговое понимание

Операторы сравнения — это инструмент, который позволяет программе принимать решения.

Они не изменяют данные, а проверяют их и возвращают логический результат — true или false. Именно на этих результатах строится вся логика: условия, проверки, контроль выполнения кода.

Ключевая идея — не просто запомнить операторы, а понимать, как они работают с разными типами данных. Особенно важно различать строгое и нестрогое сравнение.

Если представить программу как систему принятия решений, то операторы сравнения — это те самые «вопросы», на основе которых программа решает, что делать дальше.