JSFiddle - React, Tailwind, and code Playground

by Demian Brecht

JavaScript

var m = (function() {
    var o = {};
    o.myPublicProperty = 0; // can be accessed by instantiated object's calling code
    
    var myPrivateProperty = 1; // can't be accessed outside of this module

    o.myPublicFunction = function() {
        myPrivateFunction();
        return myPrivateProperty;
    };
    
    function myPrivateFunction() {
        ++myPrivateProperty;
        ++o.myPublicProperty;
    }
    
    o.getMyPrivateProperty = function() {
        return myPrivateProperty;
    }
    
    return o;
})();

console.log(m.myPublicProperty);       // 0
console.log(m.getMyPrivateProperty()); // 1
console.log(m.myPrivateProperty);      // undefined
console.log(m.myPublicFunction());     // increments
console.log(m.myPublicProperty);       // 1
console.log(m.getMyPrivateProperty()); // 2