1.2 KiB
1.2 KiB
title, shortTitle, type, tags, expertise, author, cover, excerpt, firstSeen, lastUpdated
| title | shortTitle | type | tags | expertise | author | cover | excerpt | firstSeen | lastUpdated |
|---|---|---|---|---|---|---|---|---|---|
| What's the difference between Object.is() and the triple equals operator in JavaScript? | Object.is() vs triple equals operator | question | javascript,object,type | intermediate | chalarangelo | blog_images/rocky-mountains.jpg | `Object.is()` and the triple equals operator (`===`) can both be used for equality checking in JavaScript, but when should you use each one? | 2021-03-04T11:00:00+02:00 | 2021-06-12T19:30:41+03:00 |
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