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.