Alexander Jones schrieb:
Exponentiation is written in conventional mathematics as if it were a
postfix unary operator, parameterised by a value written in superscript.
IMO this puts it in a whole different class to binary operators where both
operands are written equally. I don't see a ** b ** c as a good reflection
of mathematical convention.

I disagree. When in maths we write x <sup> y <sup> z </sup></sup>, we mean x ^ (y ^ z). Which is exactly what `x ** y ** z` will do. And no, we never write x <sup>y</sup> <sup>z</sup>, if we wanted to express that we'd write x <sup>y * z</sup> (or often enough, with implicit multiplication, i.e. no * operator: x <sup>y z</sup>).
If we'd want to express that in JS, it would by x ** (y * z).

Number.prototype.pow, on the other hand, would be fine.

You don't mean to use it like `x.pow(y).pow(z)`, do you? Sure, a function or method invocation is always explicit with parenthesis. But that's no improvement over the current `Math.pow`.

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

Reply via email to