On Sat, Jul 20, 2013 at 7:37 PM, Rick Waldron <[email protected]>wrote:
> > > > On Sat, Jul 20, 2013 at 4:05 PM, Andrew Fedoniouk < > [email protected]> wrote: > >> In typical JS code we can see things like these: >> >> el.on("click", function() {....}); >> el.myplugin({....}); >> >> The syntax noise above is obvious I think. >> >> In principle nothing prevents us to modify JS grammar so statements >> above can be rewritten as: >> >> el.on :: "click", function() {....}; >> el.myplugin :: {....}; >> > > I disagree with the implication that this is a good use for "::" as new > syntax. > > >> >> Or even this: (one token lookahead required) >> > > More then that, a whole new language that doesn't yet have existing > grammar rules... > > >> >> el.on : "click", function() {....}; >> el.myplugin : {....}; >> > > If the function at the call site isn't the method of an object, both > examples above turn into code that is already completely valid JavaScript > in the existing grammar > > Given: > > function foo(o) { return o; } > > The first turns into a labelled statement, followed by a comma operator > expression: > > foo: "click", function() {}; // function() {} > > The second turns into a label statement, followed by an empty block body: > Sorry, typo—this should say "labelled statement" (it is the same as the previous example) > > foo: {}; // undefined > > > Rick > > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

