In most of cases we use == or === to check value and type are the same for two operand.
-0 == +0 // true
-0 === +0 // true
In this case equal operators do not support.
Object.is can be used to compare values. It’s more similar to === operand.
Object.is(0, -0) // false
Object.is(0, 0) //true
Object.is(0, '0') //false
What is the purpose of having two zeros?
Let’s try to narrow down little bit.
-0 > +0 // false
+0 > -0 // false
-0 + -0 // -0
-0 + +0 // +0
+0 + +0 // +0
+1 / -0 // -Infinity
+1 / +0 // +Infinity
Infinity > 0 // true
-Infinity < -0 // true
+0 was added to language specification to address number divided by zero and result
-Infinity base on signed of the zero. But on the other hand, Java or python throws an exception when divided by zero.