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();