, AnimalClass sayName AnimalClass, AnimalFunc sayName , (this).
AnimalClass sayName, :
class AnimalClass {
constructor(name) {
this.name = name;
}
sayName() {
console.log(this.name);
}
}
var a = new AnimalClass("a"), b = new AnimalClass("b");
a.sayName === b.sayName;
Where each instance of AnimalFunc has its own definition sayName, because it is overridden in the constructor for each instance:
function AnimalFunc(name) {
this.name = name;
this.sayname = function() {
console.log(this.name);
}
}
var a = new AnimalFunc("a"), b = new AnimalFunc("b");
a.sayName === b.sayName;
Run codeEquivalent to your AnimalClass with function:
function AnimalFunc(name) {
this.name = name;
}
AnimalFunc.prototype.sayname = function() {
console.log(this.name);
}
And the equivalent of your AnimalFunc with class:
class AnimalClass {
constructor(name) {
this.name = name;
this.sayName = function() {
console.log(this.name);
}
}
}
source
share