如何合并两个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中,哪种方法被认为是正确且安全的?是否有