Answer

Answer

t.me/js_test

Ответ:

Будет ошибка.

Объяснение:

В ES-2015 появилось новое ключевое слово super. Оно предназначено только для использования в методах объекта.

Вызов super.parentProperty позволяет из метода объекта получить свойство его прототипа.

При обращении через super используется [[HomeObject]] текущего метода, и от него берётся __proto__. Поэтому super работает только внутри методов.

Ошибка возникнет, так как rabbit.walk обычная функция и не имеет [[HomeObject]]. Поэтому в ней не работает super.

Код для проверки:

'use strict';

let animal = {
  walk() {
    alert("I'm walking");
  }
};

let rabbit = {
  __proto__: animal,
  walk: function() { // Надо: walk() {
    super.walk(); // Будет ошибка!
  }
};

rabbit.walk();

Report Page