Here's some more specific notes:

On Fri, Oct 14, 2016 at 7:31 AM Cyril Auburtin <cyril.aubur...@gmail.com>
wrote:

> I would expect `-2**3` to return -8, or `-2**2 == -4`, since it should be
> like `-(2**3)`
>

Math.pow(-2, 3) === -8
Math.pow(-2, 2) === 4

To get -4: -Math.pow(-2, 2)


> Firefox gives a clearer error then Chrome with:
> > SyntaxError: unparenthesized unary expression can't appear on the
> left-hand side of '**'
>

That's correct.

>
> Is there a reason for this restriction? Python does it `-2**3` fine
>

Python is also inconsistent:

>>> pow(-2, 2)
4
>>> -2 ** 2
-4
>>>

Whereas, JavaScript is very consistent:

$ js
js> -(2 ** 2)
-4
js> -Math.pow(2, 2)
-4
js> (-2) ** 2
4
js> Math.pow(-2, 2)
4
js>



Rick
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to