JavaScript में ऑब्जेक्ट्स की तुलना: क्यों {} !== {} और सही तरीके से कैसे तुलना करें?
सभी को नमस्ते! मैंने अभी JavaScript सीखना शुरू किया है और एक अजीब स्थिति का सामना किया। मैं दो ऑब्जेक्ट्स की तुलना करने की कोशिश कर रहा हूँ जो बिल्कुल एक जैसे दिखते हैं, लेकिन false मिल रहा है।\n\nयह रहा मेरा कोड:\n\n```javascript\nconst user1 = { name: 'Анна', age: 25 };\nconst user2 = { name: 'Анна', age: 25 };\n\nconsole.log(user1 === user2); // false\nconsole.log(user1 == user2); // भी false\n```\n\nमुझे उम्मीद थी कि true आएगा, क्योंकि properties और उनके values मेल खाते हैं! लेकिन JavaScript कहता है कि वे अलग हैं। ऐसा क्यों होता है?\n\nमैं समझता हूँ कि numbers और strings के लिए यह सामान्य रूप से काम करता है:\n\n```javascript\nconsole.log(5 === 5); // true\nconsole.log('привет' === 'привет'); // true\n```\n\nलेकिन objects के साथ ऐसा नहीं है। मैंने JSON.stringify के माध्यम से तुलना करने की कोशिश की:\n\n```javascript\nconsole.log(JSON.stringify(user1) === JSON.s