JSFiddle - React, Tailwind, and code Playground
JavaScript
var Test = (function(){
var priv = "Banana";
var public = "Orange";
var pubobj = {name:"Cheese"};
function constructor(){
this.public = public;
this.pubobj = pubobj;
this.instance = {name:"Grape"};
this.instanceMethod = function(){
return priv;
};
};
constructor.prototype.private = function(){
return priv;
};
return constructor;
})();
var myTest = new Test();
console.log(myTest.public);
console.log(myTest.priv);
console.log(myTest.private());
var myTest2 = new Test();
console.log(myTest.public === myTest2.public);
console.log(myTest.private === myTest2.private);
myTest.public = "cheese";
console.log(myTest.public, myTest2.public);
myTest.pubobj.name = "Melon";
console.log(myTest.pubobj, myTest2.pubobj);
myTest.instance.name = "Raspberry";
console.log(myTest.instance, myTest2.instance);
console.log(myTest.instanceMethod === myTest2.instanceMethod);