Tôi mới học các khái niệm JavaScript. Bạn muốn hiểu cách thức làm việc thừa kế nguyên mẫu. Ấn tượng của tôi là nếu lớp của bạn kế thừa cha mẹ của nó, và bạn có cùng một phương thức được đặt tên trong nguyên mẫu của cả hai lớp, khi bạn gọi phương thức trên cá thể con, phương thức trong nguyên mẫu con sẽ được gọi.Nguyên mẫu JavaScript ghi đè
Code:
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();
On gọi cat1.printName() tôi mong đợi nó để đăng nhập 'mèo ở mèo nguyên mẫu' nhưng nó đăng nhập 'mèo trong Animal nguyên mẫu'. Ai đó có thể giải thích lý do cho tôi. Cảm ơn.
Cảm ơn bạn rất nhiều vì đã giải thích. – shilpi