Baseline Widely available
El método Object.is()
determina si dos valores son iguales.
Object.is(valor1, valor2);Parámetros
valor1
Primer valor a comparar.
valor2
Segundo valor a comparar.
Este método devuelve un valor de tipo Boolean
indicando si los valores pasados como parámetros son iguales o no.
Object.is()
determina si dos valores son iguales. Dos valores son iguales si se puede asegurar que:
undefined
null
true
o false
Esta comparación no 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
siendo true
), pero Object.is
no obliga a niguno de los valores.
Esta tampoco es igual a la que realiza el operador ===
. El operador ===
(y el operador ==
) trata los valores -0
y +0
como iguales, y además, trata Number.NaN
como no igual a NaN
.
Object.is("foo", "foo"); // true
Object.is(window, window); // true
Object.is("foo", "bar"); // false
Object.is([], []); // false
var test = { a: 1 };
Object.is(test, test); // true
Object.is(null, null); // true
// Special Cases
Object.is(0, -0); // false
Object.is(-0, -0); // true
Object.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 utilizar Object.is()
en los navegadores que no lo llevan incluÃdo.
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 Compatibilidad con navegadores Ver también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4