Exponentiation operator precedence
Brendan Eich
brendan at mozilla.org
Fri Aug 28 04:56:02 UTC 2015
Not to worry, the significant whitespace prospect was (I trust) a
warding-off spell. Good of Waldemar to mention Fortress, too.
JS, which as source is and will always be minified, indeed requires
full-parsing minifiers, so one might naively still entertain the stated
prospect. But it's a bad idea, since people minify (or just tidy by
removing spaces) by hand. Keep warding off significant space!
/be
Joe Gibbs Politz wrote:
> On Thu, Aug 27, 2015 at 2:58 PM, Alexander Jones<alex at weej.com> wrote:
>> Ethan is making my point far better than I did, and I agree completely about
>> the issue of unary operators visually appearing more tightly bound than
>> binary operators.
>>
>> At this point it seems fair to at least acknowledge the prospect of
>> significant whitespace.
>>
>> ```
>> -x**2 === -(x ** 2)
>> -x ** 2 === (-x) ** 2
>> ```
>
> One kind of cost that I haven't seen mentioned (and is relevant
> re:whitespace) is the impact on minifiers and other tools that use JS
> as output, which have to deal with operator precedence/whitespace
> rules in quite complicated ways. There's a nice recent piece about
> precedence bugs in a minifier:
>
> https://zyan.scripts.mit.edu/blog/backdooring-js/
>
> Making the creation and maintenance of systems like minifiers harder
> is a real cost worth bearing in mind when updating already-subtle
> existing rules.
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
More information about the es-discuss
mailing list