Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Trocar entries por assign

Ao invés de:

Object.entries(dadosDeAtualizacao).forEach(([chave, valor]) => {
if(chave === 'id') {
return;
}

    possivelUsuario[chave] = valor;
});

não poderia ser:

Object.assign(possivelUsuario, dadosDeAtualizacao);

???

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Olá Eduardo! Como vai?

Você levantou uma questão interessante sobre a substituição do uso de Object.entries() por Object.assign(). Ambas as abordagens têm suas vantagens, mas é importante entender as nuances de cada uma.

Quando você usa Object.entries() com um forEach, você tem um controle mais granular sobre o que está sendo atualizado. No exemplo que você mostrou, há uma verificação para garantir que a chave id não seja atualizada. Isso é algo que Object.assign() não faz por padrão. Object.assign() simplesmente copia todas as propriedades do objeto de origem para o objeto de destino, sem exceções.

Se você tem certeza de que o objeto dadosDeAtualizacao nunca incluirá uma chave id ou se você já fez essa verificação em outro lugar no seu código, então Object.assign() pode ser uma solução mais elegante e concisa. Aqui está como isso ficaria:

Object.assign(possivelUsuario, dadosDeAtualizacao);

No entanto, se houver qualquer possibilidade de dadosDeAtualizacao conter uma chave id, ou se você quiser garantir que apenas certas propriedades sejam atualizadas, a abordagem com Object.entries() e forEach() é mais segura.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Perfeito. Obrigado por esclarecer.