Исключение конверсии в неправильной строке

Во-первых, запуск конструктора Animal может иметь нежелательные побочные эффекты. Рассмотрим это:

var Animal = function(name) {
    this.name = name;
    Animal.instances.push(this);
};
Animal.instances = [];

Эта версия будет отслеживать все созданные экземпляры. Вы не хотите, чтобы ваш Dog.prototype был записан там.

Во-вторых, Dog.prototype = Animal.prototype - плохая идея, поскольку это означало бы, что bark станет методом Animal.

0
задан Michal Rickwood 6 March 2019 в 13:29
поделиться