我正在学习 Javascript 中的组合,并且想知道为什么我的代码中的 Object.assign() 将方法添加到原型的构造函数而不是对象的构造函数。我将链接下面的代码。基本上,代码是使用 Object.assign() 向 Person 对象添加两个方法(吃和走)。但是,如下图所示,控制台显示的方法属于 Person.prototype 的构造函数,而不是 Person 对象本身。我一定是想多了。任何帮助表示赞赏。谢谢!
代码
const canEat = {
eat() {
this.hunger--;
console.log('eating');
}
};
const canWalk = {
walk: function() {
console.log('walking');
}
};
const canSwim = {
swim: function() {
console.log("swim");
}
};
function Person() {
}
Object.assign(Person,canEat,canWalk);
const person = new Person();
console.log(person);