class xyz {
    x = isTrueFalse();
    #y = !x;
}

that would work in a class though?


> On Wed, Feb 20, 2019 at 5:14 PM Adam Klein <ad...@chromium.org> wrote:
>
>> LGTM!!
>>
>> On Wed, Feb 20, 2019 at 12:20 PM 'Mathias Bynens' via blink-dev <
>> blink-...@chromium.org> wrote:
>>
>>> LGTM
>>>
>>> On Wed, Feb 20, 2019 at 8:58 PM Sathya Gunasekaran <gsat...@chromium.org>
>>> wrote:
>>>
>>>> Contact Emails
>>>>
>>>> gsat...@chromium.org
>>>>
>>>>
>>>> Spec
>>>>
>>>> https://github.com/tc39/proposal-class-fields
>>>>
>>>>
>>>> Summary (taken from our WebFu article
>>>> <https://developers.google.com/web/updates/2018/12/class-fields>)
>>>>
>>>>
>>>>
>>>> This private fields proposal provides encapsulation: If you're using an
>>>> instance of a class, you cannot reference that class's private fields from
>>>> outside the class body. You can only reference private fields from within
>>>> the class that defines them.
>>>>
>>>>
>>>> The new private fields syntax is similar to public fields, except you
>>>> mark the field as being private by using #
>>>> <https://github.com/tc39/proposal-class-fields/blob/master/PRIVATE_SYNTAX_FAQ.md>.
>>>> You can think of the # as being part of the field name:
>>>>
>>>>
>>>> class IncreasingCounter {
>>>>
>>>>  #count = 0;
>>>>
>>>>  get value() {
>>>>
>>>>    console.log('Getting the current value!');
>>>>
>>>>    return this.#count;
>>>>
>>>>  }
>>>>
>>>>  increment() {
>>>>
>>>>    this.#count++;
>>>>
>>>>  }
>>>>
>>>> }
>>>>
>>>>
>>>> Private fields are not accessible outside of the class body:
>>>>
>>>>
>>>> const counter = new IncreasingCounter();
>>>>
>>>> counter.#count;
>>>>
>>>> // → SyntaxError
>>>>
>>>> counter.#count = 42;
>>>>
>>>> // → SyntaxError
>>>>
>>>>
>>>> This intent to ship includes private static fields as well:
>>>>
>>>>
>>>> class ClassCounter {
>>>>
>>>>  static #count = 0;
>>>>
>>>>  static increment() {
>>>>
>>>>    this.#count++;
>>>>
>>>>  }
>>>>
>>>> }
>>>>
>>>> ClassCounter.#count;
>>>>
>>>> // → SyntaxError
>>>>
>>>> ClassCounter.increment();
>>>>
>>>>
>>>>
>>>> Interoperability and compatibility risk
>>>>
>>>> This stage 3 proposal introduces new syntax that was previously a
>>>> SyntaxError. There’s very low web compat risk.
>>>>
>>>>
>>>> Firefox: In development
>>>> <https://bugzilla.mozilla.org/show_bug.cgi?id=1499448>
>>>>
>>>> Safari: In development <https://bugs.webkit.org/show_bug.cgi?id=174212>
>>>>
>>>> Edge: No signals
>>>>
>>>>
>>>> Is this feature fully tested?
>>>>
>>>>
>>>>
>>>> Yes, this feature passes V8’s own mjsunit/cctest tests as well as all
>>>> the Test262 tests.
>>>>
>>>>
>>>> Tracking bug
>>>>
>>>> v8:5368 <http://bugs.chromium.org/p/v8/issues/detail?id=5368>
>>>>
>>>>
>>>>
>>>> Link to entry on the Chrome Platform Status dashboard
>>>>
>>>> https://www.chromestatus.com/feature/6035156464828416
>>>>
>>>>
>>>>
>>>> Requesting approval to ship?
>>>>
>>>> Yes. Note that since this is a V8/JS feature, this post is just an FYI
>>>> to blink-dev — no sign off from Blink API owners is required.
>>>>
>>>>
>>>>
>>>> --
>>>> --
>>>> v8-dev mailing list
>>>> v8-...@googlegroups.com
>>>> http://groups.google.com/group/v8-dev
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "v8-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to v8-dev+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "blink-dev" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgaQiv2%3DmEtPOcprwkGg_KcxCfF7A%3DpPp6q-kCW%3DGN2Mtw%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgaQiv2%3DmEtPOcprwkGg_KcxCfF7A%3DpPp6q-kCW%3DGN2Mtw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> --
>> v8-users mailing list
>> v8-users@googlegroups.com
>> http://groups.google.com/group/v8-users
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to v8-users+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to