В JavaScript вы встретите пять операторов, использующих знак равенства: =, ==, ===, != и !==. = довольно прост, но различия между == и === и != и !== (и когда их использовать) поначалу могут показаться немного туманными, но у каждого есть четкое и четкое применение, так что давайте углубимся!

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

В этом примере я установил переменную mySnacks равной массиву, включающему крендельки, яблоки и морковь. Так вот что.

== и === : Шашки равенства

Все операторы == и === проверяют равенство, но делают это в разной степени.

Оператор двойного равенства (==) называется абстрактным или свободным сравнением, поскольку значения по обе стороны от оператора не обязательно должны быть идентичны, чтобы вернуть true. На самом деле оператор работает с использованием так называемого приведения типов. Это означает, что два значения сравниваются только после попытки преобразовать их в общий тип.

Оператор тройного равенства (===) называется оператором строгого сравнения, потому что и тип, и сравниваемое значение должны быть одинаковыми, чтобы вернуть true.

Давайте рассмотрим эту концепцию на нескольких примерах:

Здесь мы приблизительно сравниваем число 50 со строкой '50'. Из-за приведения типов они читаются как примерно одинаковые значения, поэтому было возвращено true.

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

Здесь мы приблизительно сравниваем логические значения false и 0, оба из которых ложны, поэтому возвращается true.

В приведенном выше примере мы строго сравниваем false и 0, оба ложные значения, но разные типы и значения, поэтому оно возвращается как false.

!= и !==: средства проверки неравенства

Аналогично (но наоборот) операторам == и === операторы != и !== проверяют неравенство.

Оператор нечеткого неравенства (!=) возвращает значение true, если два сравниваемых значения приблизительно не равны друг другу. Это работает так же (но наоборот), как == в том смысле, что приведение типов используется для преобразования значений в общий тип перед их сравнением.

Оператор строгого неравенства (!==) возвращает значение true, если два сравниваемых значения строго не равны друг другу.

Посмотрите эти примеры:

Поскольку 50и 51не равны друг другу, и мы строго сравниваем неравенство между этими значениями, эта функция возвращает true.

В приведенном выше примере 50 строго сравнивается с самим собой, поэтому возвращается как false, поскольку они не неравны друг другу.

Здесь мы приблизительно сравниваем число 50 со строкой '50'. Поскольку используется приведение типов, эти значения преобразуются в общий тип (в данном случае строки), поэтому они фактически равны друг другу, поэтому проверка неравенства возвращает как false.

Бонус: ознакомьтесь с этой удобной таблицей, если вам интересно узнать подробности о том, как работает приведение типов.

Закрытие

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