Javascript Static Singleton

Singleton pattern for Javascript

JavaScript

var SingletonTester = (function () {
    //This is the actual singleton instance
    function Singleton() {
        this.name = "Singleton";
        this.pointX = 16;
    }

    // this is our instance holder
    var instance;
    
    // this is an emulation of static variables and methods
    var _static = {
        name: 'SingletonTester',
        // This is a method for getting an instance
        // It returns a singleton instance of a singleton object
        getInstance: function () {
            if (instance === undefined) {
                instance = new Singleton();
            }
            return instance;
        }
    };
    return _static;
})();

var singletonTest = SingletonTester.getInstance();
console.log(singletonTest.pointX); // outputs 16
singletonTest.pointX = 15;
console.log(singletonTest.pointX); // outputs 15