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

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

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

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

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

В частности, у нас есть типы значений (Boolean, null, undefined, String и Number) и ссылочные типы (Array, Object, Function).

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

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

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

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

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

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

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

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

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

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: