JSFiddle - React, Tailwind, and code Playground

JavaScript

var f1 = function(){
    this.a = 1;
    this.b = 2;
    console.log("Created f1 instance");
};

f1.prototype.g1 = function(){
    console.log("G1");
};
f1.prototype.level = function(){
    console.log("level 1");
};

var f2 = function(){
    this.b = 3;
    this.c = 4;
    console.log("Created f2 instance");
};
f2.prototype = new f1();

f2.prototype.g2 = function(){
    console.log("G2");
};
f2.prototype.level = function(){
    console.log("level 2");
};

var test1 = new f1();
var test2 = new f2();

test1.d = "some string";
(function(obj){
    obj.d = {
        "e" : function(output){
            console.log(output);
        }
    };
})(test2);

test1.level();
test1.g1();
console.log(test1.a);
console.log(test1.b);

test2.level();
test2.g1();
test2.g2();
console.log(test2.a);
console.log(test2.b);
console.log(test2.c);
console.log(test1["d"]);
console.log(JSON.stringify(test1));
console.log(JSON.stringify(test2));
console.log(test2.d.e("some output"));