@zlodiak

Почему наследник не видит метод родителя?

Подскажите пожалуйста почему rabbit не может вызвать метод jump() . Здесь консоль выводит undefined

const animal = {
	jump: function() {
		console.log('jump');
	}
}

const rabbit = Object.create(animal);

console.log('r: ', rabbit.jump());


Ведь я создал пустой объект rabbit и назначил ему в свойство __proto__ , указатель на объект animal. Таким образом, если метод jump() не находится в rabbit, то он ищется в animal
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Всё работает, кролик прыгает. Консоль выводит:
jump 
r:  undefined


undefuned потому, что метод jump() ничего не возвращает. Уберите скобки console.log('r: ', rabbit.jump); и получите в консоли r: function jump()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Za0r
pop()
const animal = {
  jump: function() {
    console.log('jump');
  }
}

const rabbit = {};
rabbit.__proto__ = animal;
rabbit.jump();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы