Skipping contentious stuff (some of which, e.g. "classes as sugar", I agree with -- and so does TC39) to get to this paragraph:

Allen Wirfs-Brock wrote:
The [[Get]] and [[Set]]  (and probably some others) internal methods of a proxy never 
call the corresponding trap when the property key is a private Symbol.  Instead, they 
trace the [[Target]] chain of the proxy until a non-proxy object is reached (call this 
the "ultimate target").  It then invokes the ultimate target's [[Gett]]/[[Set]] 
using that same private Symbol key.  The result of that operation is then returned as the 
value of the original [[Get]]/[[Set]].

The "private" state access is applied to the correct object and there is no 
exposure of the private symbol!

If I want to proxy for a date instance I might rather have @@DateValue available and passed as a name to get and set traps, so I can keep my own time number, and not have to delegate to a Date prototype that has the right milliseconds since the Epoch.

Perhaps you're in favor of that in addition? But if so, how would one proxy such that the @@DateValue symbol was the name parameter to get and set traps?

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to