Equality: == vs === vs Object.is
JS · Data Typessyntax
a === b // strict (no coercion)
a == b // loose (with coercion)
Object.is(a, b) // same-value equalityexample
console.log(0 == false); // true
console.log(0 === false); // false
console.log(NaN === NaN); // false
console.log(Object.is(NaN, NaN)); // true
console.log(Object.is(0, -0)); // falseNote Always use === for comparisons. Object.is() handles edge cases like NaN and -0 that even === gets wrong.