Avatar ·

Como combinar propriedades de dois objetos JavaScript? (Object.assign, spread e outras formas)

Olá a todos! Sou um desenvolvedor JS iniciante e me deparei com um problema. Tenho dois objetos com configurações:\n\n```javascript\nconst defaultSettings = {\n theme: 'light',\n fontSize: 14,\n showSidebar: true\n};\n\nconst userSettings = {\n fontSize: 16,\n showNotifications: true\n};\n```\n\nPreciso combiná-los de forma que o objeto final tenha todas as propriedades de `defaultSettings`, mas se em `userSettings` houver as mesmas chaves (por exemplo, `fontSize`), seus valores devem sobrescrever os valores padrão. Ou seja, quero obter:\n\n```javascript\n{\n theme: 'light',\n fontSize: 16, // sobrescrito de userSettings\n showSidebar: true,\n showNotifications: true // adicionado de userSettings\n}\n```\n\nTentei simplesmente atribuir: `const merged = { ...defaultSettings, ...use`