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

> On Apr 13, 2018, at 6:26 PM, Waldemar Horwat <walde...@google.com> 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 
>> "private.property" 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@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to