regresar a la lección

¿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.