Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since сентябрь 2015 г..
Метод Object.is() определяет, являются ли два значения одинаковыми значениями.
Первое сравниваемое значение.
value2Второе сравниваемое значение.
Метод Object.is() определяет, являются ли два значения одинаковыми значениями. Два значения являются одинаковыми в следующих случаях:
Поведение этого метода не аналогично оператору ==. Оператор == использует приведение типов обоих операндов (если они имеют различный тип) перед проверкой на равенство (в результате получается, что проверка "" == false даёт true), а метод Object.is приведение типов не выполняет.
Поведение этого метода не аналогично оператору ===. Оператор === (также как и оператор ==) считает числовые значения -0 и +0 равными, а значение Number.NaN не равным самому себе.
Метод Object.is предложен в дополнение к стандарту ECMA-262; поэтому он может быть недоступен в некоторых браузерах. Это можно обойти, вставив приведённый ниже фрагмент кода в начало ваших скриптов. Он позволит вам использовать метод Object.is в случаях, когда он не имеет родной поддержки браузером.
if (!Object.is) { Object.is = function(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } }; }| ECMAScript® 2027 Language Specification # sec-object.is |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 24 июн. 2025 г. by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.