module design pattern

javascript design pattern (module pattern)

by kazu69

JavaScript

const counter = () => {

    // private member
    let count = 0;

    const module = {
        increment: function() {
            count++;
            return count;
        },
        current: function() {
					  return count;
        },
        reset: function() {
            count = 0;
            return count
        }
    }

    return module;
}
const counterObject = counter();
counterObject.increment();
console.log(counterObject.increment()); // => 2
counterObject.reset();
console.log(counterObject.current()); // => 0