What would be the output of following code:
function Rabbit() {}
Rabbit.prototype = {
eats: true
};
let rabbit1 = new Rabbit();
console.log(rabbit1.eats); // ?
Rabbit.prototype = {
eats: false
};
cont rabbit2 = new Rabbit();
console( rabbit1.eats ); // ?
console( rabbit2.eats ); // ?The output will be:
true
true
falserabbit1.eats logs true because rabbit1 is created when Rabbit.prototype has eats set to true.rabbit1.eats logs true again because reassigning Rabbit.prototype creates a new prototype object but does not affect existing instances.rabbit2.eats logs false because rabbit2 is created after Rabbit.prototype is reassigned to a new object with eats set to false.