Kevin Powell - CommunityKP-C
Kevin Powell - Community5mo ago
13 replies
brr

Module Patterns

Hey, I was reading about:
https://dev.to/tomekbuszewski/module-pattern-in-javascript-56jm

Code snippet:
const Formatter = (function() {
  let timesRun = 0;

  const log = (message) => console.log(`[${Date.now()}] Logger: ${message}`);
  const setTimesRun = () => { 
    log("Setting times run");
    ++timesRun;
  }

  const makeUppercase = (text) => {
    log("Making uppercase");
    setTimesRun();
    return text.toUpperCase();
  };

  return {
    makeUppercase,
    timesRun,
  }
})();

console.log(Formatter.makeUppercase("tomek"));
console.log(Formatter.timesRun);


Why do we get timesRun zero, shouldn't it be 1? why is the public value different, im in a position to just "know" but cant explain this very well
Was this page helpful?