Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Objetos globales
  5. Object
  6. Object.is()

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

Object.is()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨septiembre de 2015⁩.

El métodoObject.is() determina si dos valoresson iguales.

Síntaxis

Object.is(valor1, valor2);

Parámetros

valor1

Primer valor a comparar.

valor2

Segundo valor a comparar.

Valor return del método

Este método devuelve un valor de tipoBoolean indicando si los valores pasados como parámetros son iguales o no.

Descripción

Object.is() determina si dos valoresson iguales. Dos valores son iguales si se puede asegurar que:

  • ambos sonundefined
  • ambos sonnull
  • ambos sontrue ofalse
  • ambos son strings y tienen la misma longitud con los mismos carácteres
  • ambos son el mismo objeto
  • ambos son números y
    • ambos +0 (mayores que 0)
    • ambos -0 (menores que 0)
    • ambos sonNaN
    • o ambos no son cero o no son de tipoNaN y tienen el mismo valor

Esta comparaciónno es igual a la que realiza el operador==. El operador== aplica varias coerciones(comprobaciones) en ambos sentidos (si no tienen el mismo Type) antes de probar la igualdad (lo que resulta en comportamientos como"" == false siendotrue), peroObject.is no obliga a niguno de los valores.

Estatampoco es igual a la que realiza el operador===. El operador=== (y el operador==) trata los valores-0y +0 como iguales, y además, trataNumber.NaN como no igual aNaN.

Ejemplos

js
Object.is("foo", "foo"); // trueObject.is(window, window); // trueObject.is("foo", "bar"); // falseObject.is([], []); // falsevar test = { a: 1 };Object.is(test, test); // trueObject.is(null, null); // true// Special CasesObject.is(0, -0); // falseObject.is(-0, -0); // trueObject.is(NaN, 0 / 0); // true

Polyfill para navegadores no ES6

Object.is() es una adición propuesta en el estandar ECMA-262; y como tal, puede no estar presente en todos los navegadores. Para los casos en que no tenga disponible este método, podría utilizar este código haciendolo que se cargue antes que cualquier otro script. Esto permite que puedas utilizarObject.is() en los navegadores que no lo llevan incluído.

js
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;    }  };}

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-object.is

Compatibilidad con navegadores

Ver también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp