JavaScriptには計算や比較に利用するさまざまな演算子があります。大きく分けて、四則演算を行う算術演算子、数値をビットとして扱うビット演算子、if構文などで複数の条件を扱う際に使用する論理演算子、数値の大小を比較する比較演算子、演算の結果を変数に代入する代入演算子です。それぞれについて、例を挙げながら簡単に説明します。
算術演算子
加算、減算、乗算、除算、および除算の余りを求める演算子です。数値の計算に使用します。なお、日常的な計算においては、12+5=17のように使用しますが、JavaScriptでは多くの場合、代入演算子を使用して、次のように変数に計算の結果を代入します。
例:a = 12 + 5; // 12+5の結果を変数aに代入する(=は代入演算子)
ビット演算子
ビット演算子では式の数値を32ビットの整数と見なして演算を行います。例えば、次のようになります。
例1:12 & 5 は 4(1100 & 0101 = 0100)
例2:12 | 5 は 13(1100 | 0101 = 1101)
HTML/XHTMLと組み合わせて利用する限り、ビット演算子が登場するケースはあまりありません。
論理演算子
「両方が正しい」、「どちらか一方が正しい」、「正しくない」など、条件を判別するための演算子です。主にif構文の条件式に使用します。また、多くの場合は比較演算子と組み合わせて次のように使用します。
例:if (a >= 5 && b >= 10) {
// aが5以上で、bが10以上の場合の処理
}
比較演算子
2つの値の比較を行う演算子です。数値の大小を比較したり、文字列の一致を調べたり、値がtrueとfalseのどちらであるかを調べたりする際に使用します。結果はtrueまたはfalseのいずれかになり、さまざまな構文の条件式に使用されます。いかにif構文での例を示します。
例1:if (a < 10) {
// aが10未満の場合の処理
}
例2:if (name != “”) {
// 変数nameが空白文字ではない場合の処理
}
例3:if (res == true) {
// 変数resの値がtrueである場合の処理
}
代入演算子(複合演算子)
JavaScriptにおける「=」(イコール)は左辺の変数に右辺の値を代入するためのものです。たとえば、演算の結果や文字列の結合結果を代入します。
例1:a = 12 + 5; // 演算の結果を代入
例2:name = “田村” + “明”; // 文字列の結合を代入
また、代入演算子「+=」と組み合わせて次のように使用することもできます。
例:name = “田中” + “明”;
name += “さん”; // nameの値は”田中明さん”となる