I updated the strawman with a declaration form of the class operator: http://wiki.ecmascript.org/doku.php?id=strawman:class_operator#a_binding_declaration_form
the strawman is somewhat different from what I described below. Allen On Nov 17, 2011, at 5:51 PM, Allen Wirfs-Brock wrote: > On Nov 17, 2011, at 11:21 AM, Russell Leggett wrote: > >> sorry that last one didn't go to the group - ignore. This new gmail >> interface screwed me up ;) >> >> On Thu, Nov 17, 2011 at 2:20 PM, Russell Leggett <[email protected]> >> wrote: >> >> At this point, if Allen's proposal included a declaration form 'class Point >> {...}' I would be ready to get behind it. I still have a fondness for mine, >> which is used purely for defining classes, but for most cases, his would >> work equally well in the ways I would want to use it. > > Here a first (for me for this form) cut: > > class AbstractPoint { } > > and > > class Point AbstractPoiont <| { } > > where the syntax of the second is: > > classPoint Identifier MemberExpression <| LiteralObject > > This means exactly: > let Identifier = class MemberExpression <| LiteralObject > > (may need some grammar engineering because MemberExpression can contain a <|) > > The expression form remains exactly as I've already defined in it > http://wiki.ecmascript.org/doku.php?id=strawman:class_operator > > Strictly speaking the <| is unnecessary and could be implicit. I like > requiring it because it maintains symmetry with the expression form. > > For the relatively rare situations where "class-side" methods are needed they > could be provided as part of the ObjectLiteral, as: > > class Point AbstractPoiont <| { constructor() {}. {origin() {return new > this(0,0)}} > //class methods are just properties on the constructor function > > Allen > > > > >> >> - Russ >> > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

