On Sep 29, 2011, at 9:06 AM, Peter van der Zee wrote:

> What you could do here is require paren-less headers to be single
> lined, on the same line as the `if` keyword, and require a newline
> between the paren-less header and the body. Such newline would signify
> the end of the statement header, much like ASI ("API"? ;). And if you
> want to use a block, you may put the first curly of the block on the
> same line as the paren-less header (or next line if you prefer K&R
> anyways). I'm not so sure if that would fix any of the raised
> objections though.

It would fix the first:

if a + b
 (x.y)()
z++

because of no { on same line as the head, but it would not fix the second case 
Waldemar showed:

if (a + b)/g > f {f = (a + b)/g}

This case is a paren-full if head followed by an unbraced body, a useless 
regexp expression statement. It's valid ES5. The reason this involves 
paren-free is that Waldemar showed how refactoring from paren-full to 
paren-free mixes with division and a regexp literal to make this paren-full but 
undesired outcome.

The ability to write useless expression statements in JS (and C) is a bug.

/be

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to