JSFiddle - React, Tailwind, and code Playground
JavaScript
// Object constructor
var parent = function (initial) {
var that, privateNumber, hiddenVar;
that = {};
// Public variables
that.share = initial - 32;
// Public methods
that.getNumber = function () {
return privateNumber;
};
// Private properties
privateNumber = initial;
hiddenVar = "haha can't get me";
return that;
};
// Second object constructor that inherits from parent
var child = function (initial) {
var that, privateName;
// Inherit from parent
that = parent(initial);
// Public methods
that.getName = function () {
return privateName;
};
// Private poroperties
privateName = "Ludwig the " + initial + "th";
return that;
};
// Create objects
var newPar1 = parent(42);
var newPar2 = parent(10);
var newChild1 = child(0);
var newChild2 = child(100);
// Retrieve object properties
$("body").append("newPar1.privateNumber = " + newPar1.getNumber() + "<br/>");
$("body").append("newPar1.share = " + newPar1.share + "<br/><br/>");
$("body").append("newPar2.privateNumber = " + newPar2.getNumber() + "<br/>");
$("body").append("newPar2.share = " + newPar2.share + "<br/><br/><hr/><br/>");
$("body").append("newChild1.privateNumber = " + newChild1.getNumber() + "<br/>");
$("body").append("newChild1.share = " + newChild1.share + "<br/>");
$("body").append("newChild1.name = " + newChild1.getName() + "<br/><br/>");
$("body").append("newChild2.privateNumber = " + newChild2.getNumber() + "<br/>");
$("body").append("newChild2.share = " + newChild2.share + "<br/>");
$("body").append("newChild2.name = " + newChild2.getName() + "<br/>");