JSFiddle - React, Tailwind, and code Playground
JavaScript
function extend(parent, fn) {
var Class = function () {
parent.call(this);
fn.call(this);
}
Class.prototype = parent.prototype;
Class.prototype.constructor = fn;
return Class;
}
function foo(a) {
var a = 1;
this.getA = function () { return a; };
}
var child = extend(foo, function (a) {
var b = 2;
this.getB = function () { return b; };
});
var bar = extend(child, function () {
var c = 3;
this.getC = function () { return c; };
});
var obj = new bar("1");
console.log(obj.getA()); //1
console.log(obj.getB()); //2
console.log(obj.getC()); //3
console.log(obj instanceof bar); //true
console.log(obj instanceof child); //true
console.log(obj instanceof foo); //true
console.log(obj.constructor);
console.log(obj.constructor.name); //How to retrieve "bar"?