Метод Object.is() в JavaScript

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

Object.is() ведет себя как оператор === с двумя отличиями:

  • -0 и +0
  • NaN

Отрицательный ноль

Оператор === рассматривает -0 и +0 как одно и то же значение:

let amount = +0, 
volume = -0; 
console.log(volume === amount);

Выход:

true

Однако Object.is() обрабатывает +0 и -0 как разные значения. Например:

let amount = +0, 
volume = -0; 
console.log(Object.is(amount, volume));

Выход

false

NaN

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

Пример:

let quantity = NaN; 
console.log(quantity === quantity);

Выход:

false

Однако Object.is() обрабатывает NaN как одно и то же значение:

let quantity = NaN;

console.log(Object.is(quantity, quantity));

Выход:

true

Для справки см. следующую таблицу сравнения:

Сравнительная таблица одинаковости JavaScript

Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript