Существует один важный побочный эффект ручной настройки prototype на новый объект. Это стерло свойство constructor ! Код в предыдущем вызове напечатал следующее для duck : 
console.log (duck.constructor)Чтобы исправить это, всякий раз, когда прототип вручную устанавливается на новый объект, не забудьте определить свойство
// печатает 'undefined' - Ой!
constructor : Bird.prototype = {
constructor: Bird, // определить свойство constructor
numLegs: 2,
eat: function () {
console.log («nom nom nom»);
},
Опишите: function () {
console.log («Мое имя» + this.name);
}
};
Определите свойство constructor на prototype Dog .