Рубрики
Без рубрики

Какой оператор равенства следует использовать при сравнении JavaScript? ===

Вы можете использовать два разных оператора для проверки равенства объектов. Это “==` и “===`. Какой из них использовать?

В JavaScript вы можете использовать два разных оператора для проверки равенства объектов. Они == и === .

По сути, они делают одно и то же, но между ними есть большая разница.

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

В частности, у нас есть типы значений (логические, нулевые, неопределенные, строковые и числовые) и ссылочные типы (Массив, объект, функция).

Если два значения не одного типа, === вернет значение false.

Если они одного типа, JavaScript проверит их на равенство.

С ссылочными типами , это означает, что значения должны ссылаться на тот же объект/массив/функцию. Не один с одинаковыми ценностями: один и тот же.

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

Вот почему вы получаете такие результаты, как

false == '0'  //true
false === '0' //false
null == undefined //true
null === undefined  //false

По моему опыту, в 97% случаев вы захотите использовать === , если только == не предоставляет именно то, что вы хотите. У него меньше недостатков и крайних случаев.

То же самое относится и к != и != = , которые выполняют то же самое, но отрицаются.

Всегда по умолчанию используется значение != = .

Оригинал: “https://flaviocopes.com/javascript-comparison-operator-difference/”