Изучаю js, пытаюсь понять наследование.
function Product(name) {
this.name = name;
}
Product.prototype = {
getName: function() {
return this.name;
}
}
function Apple(name) {
Product.call(this, name);
}
extend(Apple.prototype, Product.prototype);
function extend(child, parent) {
for (var i in parent) {
child[i] = parent[i];
}
}
var apple = new Apple("яблоко");
console.log(apple.getName());
Что плохого в использовании extend? То, что это копирование метода из одного прототипа в другой? То есть скопированный метод getName будет ссылаться не на Product.prototype, а на Apple.prototype? В этом проблема или в чём? Поясните, плз.