Yay! Oh wait... really? You have to use an expression syntax to define a class data member? instead of the existing obhect field definition?
class xyz { x = 0; y = 0; add() { } /* Oh I see; there's no punctuation between class methods */ sub() { } } rather than class xyz { x:0, y: 0 add() {} /* , optional? */ sub() {} } I'm sure there's method to what I now consider madness... out 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.