Contact Emails: gsat...@chromium.org Spec: https://github.com/tc39/proposal-class-fields https://tc39.github.io/proposal-static-class-features/
The linked proposal includes private fields, but this intent to ship is only for public instance and static fields, not private fields. Summary: Public class fields build upon the class syntax introduced in ES2015 by allowing declaration of both instance and static public fields. The following ES2015 syntax: class IncreasingCounter { constructor() { this._count = 0; } get value() { return this._count; } increment() { this._count++; } } can now be rewritten as: class IncreasingCounter { _count = 0; get value() { return this._count; } increment() { this._count++; } } Interoperability and compatibility risk: This syntax was previously a Syntax error, therefore there is very low web compat risk. There's one very minor spec non compliance in the current implementation around the class name during static field initialization (https://github.com/tc39/proposal-class-fields/issues/85) which needs to be discussed at the next TC39 meeting. 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 signal Is this feature fully tested? V8 tests (mjsunit, cctest/test-parsing) as well as all test262 tests pass for this feature. Chromestatus entry: https://www.chromestatus.com/feature/6001727933251584 Requesting approval to ship? Yes. Note that since this is a V8/JS feature, this post is just an FYI to blink-dev — no signoff 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.