Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Object.is

Сравнивает два значения почти как ===, но правильно обрабатывает NaN и -0.

Доступно с: ES2015

Синтаксис

Object.is(value1, value2)

Параметры

ПараметрТипОписание
value1anyПервое значение.
value2anyВторое значение.

Возвращаемое значение

booleantrue, если значения одинаковые.

Примеры

Отличия от строгого равенства:

console.log(NaN === NaN, Object.is(NaN, NaN));
console.log(0 === -0, Object.is(0, -0));

Результат:

false true
true false

Для остальных значений результат такой же, как у ===:

console.log(Object.is('a', 'a'));
console.log(Object.is({}, {}));

Результат:

true
false

Примечания

Объекты, как и при ===, сравниваются по ссылке: два одинаковых на вид объекта не равны.

См. также

  • Strict equality (===) — Сравнивает значения без преобразования типов.
  • Number.isNaN — Проверяет, что значение — NaN, без преобразования типов.

В учебнике

  • Сравнение — Операторы сравнения в JavaScript — больше, меньше, строгое и нестрогое равенство, сравнение строк и NaN.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.