JavaScriptにおける「完全かつ包括的な記事」として、この記事ではJavaScriptの「演算子」について詳しく解説します。演算子はプログラム内で値を操作するための重要な要素です。JavaScriptでは多くの演算子があり、さまざまな操作が可能です。本記事ではその種類と使い方、注意すべき点を順を追って説明していきます。
1. 算術演算子(Arithmetic Operators)
算術演算子は、数値の計算を行うために使用されます。最も基本的な算術演算子には次のものがあります。

-
加算(+)
2つの数値を足すために使用されます。文字列にも適用可能で、その場合は文字列の結合が行われます。javascriptlet a = 5; let b = 3; console.log(a + b); // 出力: 8 console.log("Hello, " + "world!"); // 出力: "Hello, world!"
-
減算(-)
2つの数値を引き算します。javascriptlet a = 10; let b = 4; console.log(a - b); // 出力: 6
-
乗算(*)
2つの数値を掛け算します。javascriptlet a = 6; let b = 7; console.log(a * b); // 出力: 42
-
除算(/)
2つの数値を割り算します。javascriptlet a = 8; let b = 2; console.log(a / b); // 出力: 4
-
剰余(%)
2つの数値を割った余りを返します。javascriptlet a = 10; let b = 3; console.log(a % b); // 出力: 1
-
累乗()**
指定した数をべき乗計算します(ES6から使用可能)。javascriptlet a = 2; let b = 3; console.log(a ** b); // 出力: 8
2. 代入演算子(Assignment Operators)
代入演算子は、変数に値を設定するために使用されます。基本的な代入演算子は以下の通りです。
-
単純代入(=)
右側の値を左側の変数に代入します。javascriptlet a = 5;
-
加算代入(+=)
左側の変数に右側の値を加算して代入します。javascriptlet a = 5; a += 3; // a = a + 3 と同じ console.log(a); // 出力: 8
-
減算代入(-=)
左側の変数から右側の値を引いて代入します。javascriptlet a = 5; a -= 2; // a = a - 2 と同じ console.log(a); // 出力: 3
-
乗算代入(*=)
左側の変数に右側の値を掛けて代入します。javascriptlet a = 4; a *= 2; // a = a * 2 と同じ console.log(a); // 出力: 8
-
除算代入(/=)
左側の変数を右側の値で割って代入します。javascriptlet a = 8; a /= 2; // a = a / 2 と同じ console.log(a); // 出力: 4
-
剰余代入(%=)
左側の変数に右側の値で割った余りを代入します。javascriptlet a = 10; a %= 3; // a = a % 3 と同じ console.log(a); // 出力: 1
3. 比較演算子(Comparison Operators)
比較演算子は、2つの値を比較して真偽値(Boolean)を返します。
-
等価(==)
2つの値が等しいかどうかを比較します。型変換を行った上で比較します。javascriptconsole.log(5 == '5'); // 出力: true
-
厳密等価(===)
2つの値が厳密に等しいかどうかを比較します。型も比較するため、型変換は行われません。javascriptconsole.log(5 === '5'); // 出力: false
-
不等価(!=)
2つの値が異なるかどうかを比較します。型変換を行った上で比較します。javascriptconsole.log(5 != '5'); // 出力: false
-
厳密不等価(!==)
2つの値が厳密に異なるかどうかを比較します。型も比較するため、型変換は行われません。javascriptconsole.log(5 !== '5'); // 出力: true
-
大なり(>)
左側の値が右側の値より大きいかを比較します。javascriptconsole.log(5 > 3); // 出力: true
-
小なり(<)
左側の値が右側の値より小さいかを比較します。javascriptconsole.log(5 < 3); // 出力: false
-
大なりイコール(>=)
左側の値が右側の値以上かどうかを比較します。javascriptconsole.log(5 >= 3); // 出力: true
-
小なりイコール(<=)
左側の値が右側の値以下かどうかを比較します。javascriptconsole.log(5 <= 3); // 出力: false
4. 論理演算子(Logical Operators)
論理演算子は、複数の条件を組み合わせて、真偽値を返すために使用されます。
-
論理積(&&)
両方の条件が真(true)の場合に真を返します。javascriptconsole.log(true && false); // 出力: false
-
論理和(||)
いずれかの条件が真(true)の場合に真を返します。javascriptconsole.log(true || false); // 出力: true
-
論理否定(!)
真偽値を反転させます。javascriptconsole.log(!true); // 出力: false
5. ビット演算子(Bitwise Operators)
ビット演算子は、数値をビット単位で操作します。これらの演算子は通常、低レベルの操作に使用されますが、特殊な状況で役立つことがあります。
-
AND(&)
2つの数値のビットごとのAND演算を行います。javascriptconsole.log(5 & 3); // 出力: 1
-
OR(|)
2つの数値のビットごとのOR演算を行います。javascriptconsole.log(5 | 3); // 出力: 7
-
XOR(^)
2つの数値のビットごとのXOR演算を行います。javascriptconsole.log(5 ^ 3); // 出力: 6
-
左シフト(<<)
数値を指定されたビット数だけ左にシフトします。javascriptconsole.log(5 << 1); // 出力: 10
-
右シフト(>>)
数値を指定されたビット数だけ右にシフトします。javascriptconsole.log(5 >> 1); // 出力: 2
-
符号なし右シフト(>>>)
数値を符号なしで右にシフトします。javascriptconsole.log(-5 >>> 1); // 出力: 2147483642
結論
JavaScriptの演算子は非常に多く、さまざまな計算や条件分岐を処理するために重要です。各演算子の使い方をしっかり理解することは、より効率的なコードを書くために不可欠です。