Avatar ·

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