В предыдущем вызове вы создали supertype под названием Animal который определял поведение, разделяемое всеми животными:
функция Animal () {}Эта и следующая задача будет посвящена тому, как повторно использовать методы
Animal.prototype.eat = function () {
console.log («nom nom nom»);
};
Animal's внутри Bird and Dog не определяя их снова. Он использует метод, называемый inheritance . Эта задача охватывает первый шаг: создайте экземпляр supertype (или родителя). Вы уже знаете один способ создания экземпляра Animal с помощью new оператора: let animal = new Animal ();Существуют некоторые недостатки при использовании этого синтаксиса для
inheritance , которые слишком сложны для этой задачи. Вместо этого, это альтернативный подход без этих недостатков: let animal = Object.create (Animal.prototype);
Object.create(obj) создает новый объект и устанавливает obj как prototype нового объекта. Напомним, что prototype подобен «рецепту» для создания объекта. Установив prototype от animal быть Animal's prototype , вы фактически давая animal экземпляру же «рецепт» , как и любой другой экземпляр Animal . animal.eat (); // печатает "nom nom nom"
животный экземпляр животных; // => true
Используйте Object.create чтобы создать два экземпляра Animal именем duck и beagle .