If you want to check equality in JavaScript, there are two comparison operators, which are explained in depth in a previous article.
Very briefly, the double equals operator (==
) only compares value whereas the triple equals operator (===
) compares both value and type. But there is also a third option, Object.is()
, which behaves the same as the triple equals operator with the exception of NaN
and +0
and -0
.
Here are some examples for additional clarity:
{} === {}; // false
Object.is({}, {}); // false
1 === 1; // true
Object.is(1, 1); // true
+0 === -0; // true
Object.is(+0, -0); // false
NaN === NaN; // false
Object.is(NaN, NaN); // true
JavaScript, Object
Performs a deep comparison between two values to determine if they are equivalent.
JavaScript, Object
Deeply merges two objects, using a function to handle keys present in both.
JavaScript, Object
Iterates over all own properties of an object, running a callback for each one.