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