JavaScript - Операторы сравнения
Здравствуйте, будущие маги JavaScript! Сегодня мы окунемся в магический мир операторов сравнения. Не волнуйтесь, если вы еще ни разу не писали строку кода - я буду вашим дружественным проводником на этом захватывающем пути. Так что возьмите свои посохи (я имею в виду, клавиатуры), и давайте начнем!
Операторы сравнения в JavaScript
Операторы сравнения resemble судьей в мире программирования. Они смотрят на два значения и решают, как они относятся друг к другу. Равны ли они? Одно ли из них больше другого? Эти операторы помогают нам принимать решения в нашем коде, так же, как мы принимаем решения в реальной жизни.
Давайте посмотрим на все операторы сравнения, которые мы сегодня рассмотрим:
Оператор | Название | Пример |
---|---|---|
== | Равенство | x == y |
!= | Неравенство | x != y |
=== | Строгое равенство | x === y |
!== | Строгое неравенство | x !== y |
> | Больше чем | x > y |
>= | Больше или равно | x >= y |
< | Меньше чем | x < y |
<= | Меньше или равно | x <= y |
Как выполняется сравнение?
Прежде чем мы углубимся в каждый оператор, давайте поймем, как JavaScript сравнивает значения. Это не так уж отличается от того, как мы сравниваем вещи в реальной жизни!
- Если мы сравниваем числа, это很简单. JavaScript проверяет, какое число больше.
- Для строк JavaScript сравнивает их символ за символом, основываясь на их значениях Unicode.
- Если мы сравниваем разные типы (например, число и строку), JavaScript обычно пытается преобразовать один тип в другой перед сравнением.
Теперь давайте рассмотрим каждый оператор подробнее.
Оператор равенства (==) в JavaScript
Оператор равенства (==) проверяет, равны ли два значения, но он гибок. Он может преобразовывать типы перед сравнением. Давайте рассмотрим несколько примеров:
console.log(5 == 5); // true
console.log(5 == "5"); // true
console.log(true == 1); // true
console.log(null == undefined); // true
В первом примере ясно, почему мы получаем true
. Во втором, JavaScript преобразует строку "5" в число перед сравнением. Третий пример может удивить - JavaScript считает true
как 1 и false
как 0. Последний пример показывает, что null
и undefined
считаются равными с оператором ==.
Оператор неравенства (!=) в JavaScript
Оператор неравенства (!=) resembles反面 оператора ==. Он проверяет, что два значения не равны.
console.log(5 != 6); // true
console.log(5 != "5"); // false
console.log(true != 1); // false
Как и ==, он также выполняет преобразование типов перед сравнением.
Строгий оператор равенства (===) в JavaScript
Теперь познакомимся с строгим оператором равенства (===). Этот оператор resemblesстрогий старший брат оператора ==. Он не только проверяет значение, но и обеспечивает одинаковые типы.
console.log(5 === 5); // true
console.log(5 === "5"); // false
console.log(true === 1); // false
console.log(null === undefined); // false
Смотрите, как результаты отличаются от ==? Строгий оператор равенства не выполняет никакого преобразования типов.
Оператор.strict неравенства (!==) в JavaScript
Оператор strict неравенства (!==) resembles反面 оператора ===. Он проверяет, что два значения не равны по значению или типу.
console.log(5 !== 6); // true
console.log(5 !== "5"); // true
console.log(true !== 1); // true
Оператор больше (>) в JavaScript
Оператор больше (>) проверяет, больше ли левое значение правого.
console.log(10 > 5); // true
console.log(5 > 10); // false
console.log(10 > 10); // false
console.log("b" > "a"); // true (сравнивает значения Unicode)
помните, что при сравнении строк, это основано на их значениях Unicode, а не на их алфавитном порядке!
Оператор больше или равно (>=) в JavaScript
Оператор больше или равно (>=) проверяет, больше ли левое значение правого или они равны.
console.log(10 >= 5); // true
console.log(10 >= 10); // true
console.log(5 >= 10); // false
Оператор меньше (<) в JavaScript
Оператор меньше (<) проверяет, меньше ли левое значение правого.
console.log(5 < 10); // true
console.log(10 < 5); // false
console.log(10 < 10); // false
Оператор меньше или равно (<=) в JavaScript
Оператор меньше или равно (<=) проверяет, меньше ли левое значение правого или они равны.
console.log(5 <= 10); // true
console.log(10 <= 10); // true
console.log(10 <= 5); // false
Сравнение null, undefined и NaN
Сравнение специальных значений, таких как null
, undefined
и NaN
, может быть сложным. Давайте рассмотрим несколько примеров:
console.log(null == undefined); // true
console.log(null === undefined); // false
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
console.log(null > 0); // false
console.log(null == 0); // false
console.log(null >= 0); // true
Поведение с null
и undefined
может быть неожиданным. NaN
не равен ничему, даже самому себе! А null
при сравнении преобразуется в 0, но не при проверке равенства.
И вот мы и добрались до этого, друзья! Мы совершили путешествие по земле операторов сравнения JavaScript. Помните, что практика makes perfect, так что не бойтесь экспериментировать с этими операторами в вашем собственном коде. Счастливого кодирования!
Credits: Image by storyset