For the following code...
function ClassA() {
this.name = "ClassA";
this.sayParentName = function () {
console.log(this.name);
};
};
function ClassB() {
this.name = "ClassB";
sayName = function () {
console.log(this.name);
};
};
ClassB.prototype = new ClassA();
var test1 = new ClassB();
var test2 = new ClassB();
test1.sayParentName();
test2.sayParentName();
is there only one instance of sayParentName from the parent ClassA in memory? Or is a new instance in memory created for each new object of ClassB created (each ClassB has its own sayParentName function that it's inherited instead of just using a single sayParentName from the parent class)
If there is a new instance created is the only way around this to set the prototype of ClassA to be a function (sayParentName) for example after creating the ClassA object
ClassA.prototype.sayParentName = function() { console.log( this.name) );