Na porovnani identity objektu mas operator ===. Na porovnani obsahu objektu mas ==, ale v JS je spatne implementovan. Ale tak hlavne ze porovnava cislo se stringem.
Co mi napíše java nebo c# na (volná syntaxe)?:
var x = new object(bla bla bla);
var y = new object(bla bla bla);
(x == y)taky
false, protože neporovnává obsah, ale zda jde o totožný objekt (stejně jako v JS).
=== to nevylepší, protože k předchozímu jen přidá porovnání typu proměnné (zde object).
Proto java i c# na skutečné porovnání obsahu používá
.equals() které JS nemá, ale není problém si ho přidat z nějaké knihovny nebo dopsat (anebo použít to výše uvedené porovnání objektů převedených na JSON stringy) .