Spot the bug in named counters

from Closures
Node 24 intermediate 4 min 1 issue to find

Find why these named counters do not keep independent counts.

JavaScript
function makeCounters(names) {
  let count = 0;
  return names.map((name) =>
    () => `${name}:${++count}`,
  );
}

const [uploads, retries] = makeCounters(['uploads', 'retries']);
console.log(uploads(), retries(), uploads());
Open in playground
Report an error