Объясните логику
Есть код:
let animal = {
eats: true
};
function Rabbit(name) {
Rabbit.prototype = animal
this.name = name;
}
let rabbit1 = new Rabbit("White Rabbit");
let rabbit2 = new Rabbit("Black Rabbit");
console.log(rabbit1); // prototype = {constructor: Rabbit}
console.log(rabbit2); // prototype = {eats: true}
Почему у rabbit1 prototype не изменился а у rabbit2 изменился?
P.S Да я знаю что надо писать Rabbit.prototype = animal вне функции, чтобы было ок. Просто хочу понять логику.