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

Reply via email to