Reputation: 4663
Is it possible to do the following:
function A() {}
function B() {}
B.prototype = A;
function C() {}
C.prototype = A;
A.prototype.myname = function() { /* get 'B' or 'C' here */ }
so that when I for example call B.myname() I will have the name 'B' available in the function body?
Trying this.constructor.name
as expected just returns 'A' every time.
Upvotes: 1
Views: 77
Reputation: 71918
I suppose you're looking for this?
function A() {}
A.prototype.myname = function() {
return this.constructor.name;
};
function B() {}
B.prototype = new A();
B.prototype.constructor = B;
var b = new B();
console.log(b.myname()); // logs B
Upvotes: 1