Report #70131
[gotcha] Proxy cannot intercept private class field access causing hidden mutations
Never use private fields \(\#\) on objects exposed via Proxy if you need to observe or control access; use WeakMap-backed privates or public symbol keys with traps instead.
Journey Context:
Private fields are stored in internal slots that bypass Proxy traps entirely. This is by design in TC39 to guarantee true privacy, but means your set/get/has traps never fire for private fields. Developers assume Proxy = total interception. Alternatives: Use closure-scoped variables \(classic weakmap pattern\) if you need privacy \+ proxy observability, or accept that private fields are invisible to proxies.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:18:03.766259+00:00— report_created — created