JavaScriptのべき乗演算子(**)とは?使い方と注意点を解説
JavaScriptには、数値のべき乗(累乗)を計算するためのべき乗演算子が用意されています。記号は ** で表され、「ある数値を別の数値で累乗した結果」を簡単に求めることができます。
実は、べき乗を計算する方法としては、従来から Math.pow() メソッドが存在していました。しかし、べき乗演算子(**)はJavaScriptに限らず、PythonやRubyなど他のプログラミング言語でも共通して使われる構文であるため、可読性やコードの移植性の面で大きなメリットがあります。
べき乗演算子の注意点
べき乗演算子の唯一の弱点は、負の数を底(基数)として使う場合には括弧()で囲む必要があるという点です。括弧で囲まないと、シンタックスエラー(構文エラー)が発生します。これは演算子の優先順位に関する仕様によるもので、曖昧な記述を防ぐために設けられたルールです。
例1:基本的な使い方
<html>
<body>
<script>
var res1 = Math.pow(3,2)
var res2 = (3) ** 2
document.write(res1);
document.write("</br>");
document.write(res2);
</script>
</body>
</html>出力結果
9 9
上記の例では、Math.pow(3, 2) と 3 ** 2 のどちらも「3の2乗」を計算し、同じ結果「9」を返しています。
例2:負の数を底とした場合
次の例では、負の数を底(基数)として使用しています。Math.pow() メソッドでは問題なく計算できますが、べき乗演算子を使う場合は、負の値を必ず括弧で囲む必要があります。括弧を省略するとエラーが発生します。
<html>
<body>
<script>
var res1 = Math.pow(-3,2)
var res2 = (-3) ** 2 // 括弧がないとエラーが発生します
document.write(res1);
document.write("</br>");
document.write(res2);
</script>
</body>
</html>出力結果
9 9
まとめ
べき乗演算子(**)は、Math.pow() と同様に累乗計算を行える便利な演算子です。ES2016(ES7)以降で利用可能であり、他言語との共通性やコードの読みやすさから、近年では積極的に使われています。ただし、負の数を扱う際は括弧で囲むことを忘れないようにしましょう。
-
JavaScriptの巻き上げ(ホイスティング)とは?仕組みと動作を実例でわかりやすく解説
巻き上げ(Hoisting)とは何か JavaScriptにおける巻き上げ(ホイスティング)とは、コードの実行が始まる前に、関数宣言やvarで宣言された変数が、それぞれのスコープの先頭に移動されたかのように扱われる仕組みのことです。この仕組みのおかげで、実際には定義より前の行であっても、関数や変数を呼び出すことができます。 ただし、挙動には注意が必要です。変数の場合、宣言は巻き上げられますが、値の代入は巻き上げられません。そのため、代入前の変数にアクセスするとundefinedが返されます。一方、関数宣言は宣言全体(関数の中身まで)が巻き上げられるため、定義前に呼び出しても正常に実行されます。
-
JavaScriptのグループ化演算子とは?優先順位の制御方法をサンプルコードで解説
グループ化演算子とはJavaScriptのグループ化演算子は、丸括弧「()」で表され、式を評価する際の優先順位を制御するために使用されます。通常、演算子にはあらかじめ決められた優先順位があり、乗算(*)や除算(/)は加算(+)や減算(-)よりも先に評価されます。しかし、グループ化演算子で式を囲むことで、この優先順位を意図的に変更し、囲まれた部分を最優先で計算させることができます。例えば「2+2*5/22」という式の場合、標準の優先順位では乗算・除算が先に実行されますが、丸括弧を使うことで「(2+2)*5/22」のように加算を先に行わせることが可能です。サンプルコード以下は、JavaScript