Vergleich von Objekten in JavaScript: warum {} !== {} und wie vergleicht man richtig?
Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen und bin auf eine unverständliche Situation gestoßen. Ich versuche, zwei Objekte zu vergleichen, die völlig gleich aussehen, aber ich erhalte false.\n\nHier ist mein Code:\n\n```javascript\nconst user1 = { name: 'Anna', age: 25 };\nconst user2 = { name: 'Anna', age: 25 };\n\nconsole.log(user1 === user2); // false\nconsole.log(user1 == user2); // auch false\n```\n\nIch hatte erwartet, dass es true ergibt, da die Eigenschaften und ihre Werte übereinstimmen! Aber JavaScript sagt, dass sie unterschiedlich sind. Warum passiert das?\n\nIch verstehe, dass es für Zahlen und Strings normal funktioniert:\n\n```javascript\nconsole.log(5 === 5); // true\nconsole.log('hallo' === 'hallo'); // true\n```\n\nAber bei Objekten nicht. Ich habe versucht, über JSON.stringify zu vergleichen:\n\n```javascript\nconsole.log(JSON.stringify(user1) === JSON.s