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