首页 > 解决方案 > 第一个对象如何使用第二个对象的方法?

问题描述

使用 Object.setPrototypeOf(),player2 可以使用 player1 方法,但是在这个例子中 player1 怎么可以使用 player2 方法呢?

let player1 = {
  kick() {
    return 'kicking..';
  }
};


let player2 = {
  smash() {
    return 'smashing..';
  }
};

Object.setPrototypeOf(player2, player1);

console.log(player2.kick());

标签: javascriptobject

解决方案


您可以使用以下命令将一个对象的属性复制到另一个对象中,而不是更改原型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());


推荐阅读