0
respostas

[Dúvida] Diferenças Entre Assign e Spread

Olá!

Fiz um teste unindo os dois objetos do primeiro exemplo utilizando o operador spread e o método assign. O resultado mostrado no console aparentemente é igual. Porém, ao compará-los utilizando o operador === obtive o retorno false.

Qual seria(m) a(s) diferença(s) entre os dois métodos?

const fichaGuerreiro = {
    nome: "Aragorn",
    classe: "guerreiro"
}

const equipoGuerreiro = {
    espada: "Andúril",
    capa: "capa élfica +2"
}

const guerreiro1 = Object.assign({}, fichaGuerreiro, equipoGuerreiro);
const guerreiro2 = {...fichaGuerreiro, ...equipoGuerreiro};

console.log(guerreiro1);
console.log(guerreiro2);
console.log(guerreiro1 === guerreiro2);

Resultado no console:

{ nome: 'Aragorn', classe: 'guerreiro', espada: 'Andúril', capa: 'capa élfica +2' } { nome: 'Aragorn', classe: 'guerreiro', espada: 'Andúril', capa: 'capa élfica +2' } false

Obrigado!!