Jestem nowy w nauczaniu się pojęć JavaScript. Chcesz zrozumieć, jak działa prototypowe dziedziczenie. Mam wrażenie, że twoja klasa dziedziczy swojego rodzica, a ty masz tę samą nazwaną metodę w prototypach obu klas, gdy wywołasz metodę na instancji podrzędnej, zostanie wywołana metoda w prototypie podrzędnym.Nadpisanie prototypu JavaScript
Kod:
function Animal(name) {
this.name = name;
}
Animal.prototype.printName = function() {
console.log(this.name + ' in animal prototype');
}
function Cat(name) {
Animal.call(this, name);
}
Cat.prototype.printName = function() {
console.log(this.name + ' in cat prototype');
}
Cat.prototype = Object.create(Animal.prototype);
var anm1 = new Animal('mr cupcake');
anm1.printName();
var cat1 = new Cat('cat');
cat1.printName();
Na nazywając cat1.printName() Spodziewałem się, że log 'kota w prototypie cat' ale 'zalogowany kota w prototypie zwierzęcia. Czy ktoś mógłby mi wyjaśnić powód? Dzięki.
Dziękuję bardzo za wyjaśnienie. – shilpi