О примитивах и важности ===
Это очень короткая статья как дополнение к Сравнение объектов в JavaScrip t.
В конце статьи я упомянул Object.is () и его роль в сравнении объектов.
Благодаря комментарию читателя этой статьи я подумал, что упомянул Object.is () и то, как он работает с примитивными типами данных, а не только со ссылочными значениями.
А как насчет сравнения примитивов
Одно из утверждений в MDN по поводу Object.is ():
Это не то же самое, что равенство согласно оператору
==
. Оператор==
применяет различные приведения к обеим сторонам (если они не одного типа) перед проверкой равенства (в результате получается такое поведение, как"" == false
, равноеtrue
), ноObject.is
не приводит ни к одному из значений.
Последняя часть о приведении типов важна, как и разница между операторами сравнения == и ===.
Пример
Заключение
Убедитесь, что вы используете правильный тип оператора сравнения.
Помните, что основное различие между операторами == и === заключается в том, что == сравнивает переменные, но выполняет приведение типов. Но === этого не делает. Он проверяет не только значения, но и типы двух переменных.
Спасибо, что нашли время прочитать это!