Re: EcmaScript Proposal – Private methods and fields proposals.

Michael Theriot michael.lee.theriot at
Fri Apr 13 22:49:43 UTC 2018

I'd imagine that would fail the same way proxies fail on typed arrays.

> On Apr 13, 2018, at 6:26 PM, Waldemar Horwat <waldemar at> wrote:
>> On 04/13/2018 01:38 AM, Sultan wrote:
>> The proposal is an explainer with regards to an alternative sigil-less syntax to back private fields/methods.
>>> What does private(this)[property] do?
>> "private(this)[property]" and alternatively "private[property]" or "" all invoke access of a private "property" on the "this" instance of the class, symmetrical to thesyntax/function nature of both the "super" and"import" keywords.
>>> How do private fields come into existence?
>> Unless i've misunderstood what is meant by "come into existence" the proposals makes use of the reserved "private" keyword to define private fields i.e "private id = 1".
> I was asking about what creates those fields.
>>> What's private about private fields?
>> Outside of a private fields provider class, private fields/methods would not be accessible.
>>> How do you prevent them from being forged or stuck onto unrelated objects?
>> What do you mean by this?
> Writing your private field to an object that's not an instance of your class.
> class A {
>  private id = ...;
>  private foo = ...;
>  write(value) {
>    private(this)["id"] = value;
>    private(this)["foo"] = ... my private secret that anyone outside the class must not learn ...;
>  }
> }
> and then invoking the above write method with a this value that's not an instance of A, such as a proxy.
>    Waldemar
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list