usando Object.setPrototypeOf(), el jugador 2 puede usar el método del jugador 1, pero ¿cómo puede el jugador 1 usar el método del jugador 2 en este ejemplo?
let player1 = { kick() { return 'kicking..'; } }; let player2 = { smash() { return 'smashing..'; } }; Object.setPrototypeOf(player2, player1); console.log(player2.kick());En lugar de cambiar el prototipo, puede copiar las propiedades de un objeto en otro usando Object.assign() :
const player1 = { kick() { return 'kicking..'; } }; const player2 = { smash() { return 'smashing..'; } }; Object.assign(player2, player1); Object.assign(player1, player2); console.log(player2.kick()); console.log(player1.smash());