どこに書きますか?
重要性: 5
animal から継承している rabbit があります。
もし rabbit.eat() を呼び出す場合、どのオブジェクトが full を受け取りますか?: animal または rabbit?
let animal = {
eat() {
this.full = true;
}
};
let rabbit = {
__proto__: animal
};
rabbit.eat();
解答: rabbit.
this はドットの前のオブジェクトなので、 rabbit.eat() は rabbit を変更します。
プロパティの参照と実行は2つの異なるものです。
メソッド rabbit.eat は最初にプロトタイプで見つけられ、this=rabbit で実行されます。