О примитивах и важности ===

Это очень короткая статья как дополнение к Сравнение объектов в JavaScrip t.

В конце статьи я упомянул Object.is () и его роль в сравнении объектов.

Благодаря комментарию читателя этой статьи я подумал, что упомянул Object.is () и то, как он работает с примитивными типами данных, а не только со ссылочными значениями.

А как насчет сравнения примитивов

Одно из утверждений в MDN по поводу Object.is ():

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

Последняя часть о приведении типов важна, как и разница между операторами сравнения == и ===.

Пример

Заключение

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

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

Спасибо, что нашли время прочитать это!