¿Donde escribe?
importancia: 5
Tenemos rabbit heredando de animal.
Si llamamos a rabbit.eat(), ¿qué objeto recibe la propiedad full: animal o rabbit?
let animal = {
eat() {
this.full = true;
}
};
let rabbit = {
__proto__: animal
};
rabbit.eat();
La respuesta es: rabbit.
Esto se debe a que this es un objeto antes del punto, por lo que rabbit.eat() modifica rabbit.
La búsqueda y ejecución de propiedades son dos cosas diferentes.
El método rabbit.eat se encuentra primero en el prototipo, luego se ejecuta con this = rabbit.