Files
30-seconds-of-code/snippets/js/s/object-is-triple-equals.md
2023-05-18 23:24:53 +03:00

1.1 KiB

title, shortTitle, type, language, tags, author, cover, excerpt, dateModified
title shortTitle type language tags author cover excerpt dateModified
What's the difference between Object.is() and the triple equals operator in JavaScript? Object.is() vs triple equals operator question javascript
object
type
chalarangelo rocky-mountains `Object.is()` and the triple equals operator (`===`) can both be used for equality checking in JavaScript, but when should you use each one? 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