JavaScript

**(べき乗演算子)

 編集:2022.08.07 by T.A.

1番目のオペランドを2番目のオペランドの累乗まで上げた結果を返します。

これは Math.pow と同等ですが、オペランドとして BigInt も受け入れます。

X ** Y
X オペランド1
Y オペランド2

べき乗演算子は右結合的です: a ** b ** ca ** (b ** c) と等しくなります。

PHP や Python など、べき乗演算子(**)を持つほとんどの言語では、べき乗演算子は単項演算子(単項演算子「+」や単項演算子「-」など)よりも優先順位が高いと定義されていますが、いくつかの例外があります。例えば、Bash では ** 演算子は単項演算子よりも優先順位が低いと定義されています。

注意: 一部のプログラミング言語ではべき乗計算にキャレット記号「^」を使用していますが、JavaScript ではビット排他的論理和にこの記号を使用しています。

JavaScriptでは、あいまいなべき乗式を記述することはできません。つまり、基数の直前に単項演算子(+-~!deletevoidtypeof)を置くことはできません。これを行うと、SyntaxError が発生します。

D=-2 ** 2;
// Bashでは 4 他の言語では -4
// JavaScriptでは意図があいまいなため無効

D=-(2 ** 2);	//=-4: JavaScriptでは意図が明白なため

基本的なべき乗:

D=2 ** 3;   //=8: 2の3乗(2×2×2)
D=3 ** 2;   //=9
D=3 ** 2.5; //=15.588457268119896
D=10 ** -1; //=0.1
D=NaN ** 2; //=NaN

結合:

D=2 ** 3 ** 2;   //=512: 2の9乗
D=2 ** (3 ** 2); //=512
D=(2 ** 3) ** 2; //=64

単項演算子との使用:

べき乗式の結果の符号を反転させる:

D=-(2 ** 2); //=-4

べき乗式の基底を強制的に負の数にする:

D=(-2) ** 2; //=4
D=(-2) ** 3; //=-8: -2×-2×-2

テスト