Forgot to mention, expression-only function bodies would be problematic as
well.

    1<foo>bar;

Is that a syntax error?

    1 function(foo) { return bar; }

...or does it get interpreted as it would today?


On Tue, Feb 11, 2014 at 4:10 PM, Jeremy Martin <jmar...@gmail.com> wrote:

> Seems like this would lead to confusing operator precedence rules as well.
>  For example:
>
>     1<<foo>{}
>
> ... is perfectly valid JavaScript today (syntactically, anyway...), and is
> equivalent to:
>
>     (1 << foo) > {}
>
> ... but I would assume that with the new syntax in place it would really
> be interpreted as:
>
>     1 < function(foo) {}
>
> ... which is also valid JavaScript. Not that either of those examples
> should ever occur in the real world, but in general I think they indicate
> that `<` and `>` might be better left alone.
>
>
>
> On Tue, Feb 11, 2014 at 3:53 PM, Till Schneidereit <
> t...@tillschneidereit.net> wrote:
>
>> On Wed, Feb 12, 2014 at 9:39 AM, Tab Atkins Jr. <jackalm...@gmail.com>wrote:
>>
>>> On Tue, Feb 11, 2014 at 12:33 PM, biscotte a la crevette
>>> <biscottealacreve...@gmail.com> wrote:
>>> > I would like to suggest an alternative function declaration syntax
>>> rule :
>>> > http://pastebin.mozilla.org/4258633
>>> >
>>> > That will lead to a way shorter function declaration (like Array [...]
>>> > and Object {...} does ) :
>>> >
>>> > long story short : <...> will be equivalent to function(...)
>>> >
>>> > Which mean :
>>> >
>>> > var print = <name,age>{ //eq. to var print = function(name,age){...
>>> >   console.log("my name is " + name + " " + age + "y old.\n");
>>> > }
>>> >
>>> > Human = <name,age=0>{
>>> >     this.age=age;
>>> >     this.name=age;
>>> >     this.toString=<>{
>>> >         return ...
>>> >     };
>>> > }
>>> >
>>> > And so, will work with anonymous function declaration (which was my
>>> main goal).
>>> >
>>> > my_list.map(<val>{return val<0?-val:val;});//return absolut-ified
>>> array content
>>>
>>> Are you aware of the existing arrow functions?  Using current ES6,
>>> your example would be written as:
>>>
>>> my_list.map(val=>val<0?-val:val);
>>>
>>
>> Also, there are short method declarations:
>>
>> var obj = {
>>   foo(bar, baz) {
>>     // stuffs
>>   }
>> }
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
>
> --
> Jeremy Martin
> 661.312.3853
> http://devsmash.com
> @jmar777
>



-- 
Jeremy Martin
661.312.3853
http://devsmash.com
@jmar777
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to