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!!