दो JavaScript ऑब्जेक्ट्स के गुणों को कैसे मर्ज करें? (Object.assign, spread और अन्य तरीके)
सभी को नमस्ते! मैं एक शुरुआती JS डेवलपर हूँ, एक समस्या का सामना कर रहा हूँ। मेरे पास सेटिंग्स के साथ दो ऑब्जेक्ट्स हैं:
```javascript
const defaultSettings = {
theme: 'light',
fontSize: 14,
showSidebar: true
};
const userSettings = {
fontSize: 16,
showNotifications: true
};
```
मुझे उन्हें इस तरह मर्ज करना है कि अंतिम ऑब्जेक्ट में `defaultSettings` के सभी गुण हों, लेकिन अगर `userSettings` में समान कुंजियाँ हैं (जैसे `fontSize`), तो उनके मान डिफ़ॉल्ट मानों को ओवरराइट कर दें। यानी मैं यह प्राप्त करना चाहता हूँ:
```javascript
{
theme: 'light',
fontSize: 16, // userSettings से ओवरराइट किया गया
showSidebar: true,
showNotifications: true // userSettings से जोड़ा गया
}
```
मैंने बस असाइन करने की कोशिश की: `const merged = { ...defaultSettings, ...userSettings }` — यह काम करता है। लेकिन मैंने सुना है कि अन्य तरीके भी हैं: `Object.assign()`, कुछ लाइब्रेरीज़ जैसे Lodash। आधुनिक JavaScript में कौन सा तरीका सही और सुरक्षित माना जाता है? क्या कोई