TGViewer
JavaScript JavaScript @javascript · 31.1K subscribers
Post #3048 2.82K
CHALLENGE

class Registry {
static #cache = new Map();
static #instanceCount = 0;
static defaultTTL;

static {
Registry.#cache.set("base", { value: 42, active: true });
Registry.#instanceCount = 1;
Registry.defaultTTL = 3600;
console.log("Static block 1:", Registry.#instanceCount, Registry.defaultTTL);
}

static {
const base = Registry.#cache.get("base");
Registry.#cache.set("derived", { value: base.value * 2, active: false });
Registry.#instanceCount++;
console.log("Static block 2:", Registry.#instanceCount, Registry.#cache.size);
}

static getSnapshot() {
return [...Registry.#cache.entries()]
.map(([k, v]) => `${k}:${v.value}`)
.join(", ");
}
}

console.log("Snapshot:", Registry.getSnapshot());
console.log("TTL:", Registry.defaultTTL);
  • ❤ 6
  • 👍 4
More from @javascript
  1. Sep 24, 2026Post #3516
  2. Sep 24, 2026CHALLENGE class Base { static count = 0; static increment() { this.count++; return this.co…
  3. Sep 23, 2026🤩 tinyjs: Build JavaScript Desktop Apps in <10MB I built an app with this and was impress…
  4. Sep 23, 2026Post #3513
  5. Sep 23, 2026CHALLENGE function* inner() { yield 1; yield 2; return 100; } function* outer() { const re…
  6. Sep 22, 2026Post #3511
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →