Executando verificação de segurança...
0

Cara resumindo bastante... Todo tipo que não é primitivo no javascript ele sempre se passa como referência para o parametro, ou seja, se modificar o parametro dentro da function, o valor referido também é modificado. Quando, são tipo primitivos (inteiro, por exemplo) o javascript sempre passa o valor e nunca a referência e isso nunca acontece..

Para resolver seu problema você deve ou fazer uma copia do object e passar pro function ou reatribuir seu parametro com a modificação ou criar um novo object com os dados do antigo e passar os novos dados

export function refreshDB(db_name) {
    const db = { name: db_name, color: "#000" }
    console.log(db)
    const new_db = resetTagColors(db)
    console.log(new_db)
 }
 
 function resetTagColors(database) {
     return {
         ...database,
         color: ""
     }
  }

(Tentei explicar de uma forma bem resumida, algumas palavras que utilizei, talvez nem sejam adequadas, mas a logica é essa)

link stackoverflow demonstrando o que falei

Carregando publicação patrocinada...
0

Talvez seja bom levar isso sempre em mente, que nunca modifique o parametro em si... Sempre deixe sua função pura.