レッスンに戻る

どこに書きますか?

重要性: 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 で実行されます。