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.
>

-- 
-- 
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