tilbage til lektionen

Hvor skriver den?

vigtighed: 5

Vi har rabbit der nedarver fra animal.

Hvis vi kalder rabbit.eat(), hvilket objekt modtager full egenskaben: animal eller rabbit?

let animal = {
  eat() {
    this.full = true;
  }
};

let rabbit = {
  __proto__: animal
};

rabbit.eat();

Svaret er: rabbit.

Det er fordi this er objektet før punktummet, så rabbit.eat() ændrer rabbit.

Opslag af egenskaber og eksekvering er to forskellige ting.

Metoden rabbit.eat findes først i prototypen, og derefter eksekveres den med this=rabbit.