JavaScript 演算子

JavaScriptの演算子は、さまざまな数学的および論理的な計算を実行するために使用されます。

例:

  • 代入演算子 = は値を代入します
  • 加算演算子 + は値を加算します
  • 乗算演算子 * は値を乗算します
  • 比較演算子 > は値を比較します

JavaScriptの代入

代入演算子(=)は変数に値を代入します:

代入の例


let x = 10;
// xに値5を代入
let x = 5;
// yに値2を代入
let y = 2;
// zにx + yの値を代入
let z = x + y;

JavaScriptの加算

加算演算子(+)は数値を加算します:

加算


let x = 5;
let y = 2;
let z = x + y;

JavaScriptの乗算

乗算演算子(*)は数値を乗算します:

乗算


let x = 5;
let y = 2;
let z = x * y;

JavaScriptの演算子の種類

JavaScriptにはさまざまな種類の演算子があります:

  • 算術演算子
  • 代入演算子
  • 比較演算子
  • 文字列演算子
  • 論理演算子
  • ビット演算子
  • 三項演算子
  • 型演算子

JavaScriptの算術演算子

算術演算子は数値に対して算術演算を行います:

算術演算子の例


let a = 3;
let x = (100 + 50) * a;
演算子 説明
+ 加算
減算
* 乗算
** 指数化(ES2016)
/ 除算
% 剰余(除算の余り)
++ インクリメント
デクリメント

注意: 算術演算子についての詳細は、JS Arithmetic 章で説明されています。

JavaScriptの代入演算子

代入演算子はJavaScript変数に値を代入します。

加算代入演算子(+=)は変数に値を追加します。

代入


let x = 10;
x += 5;
演算子 同じ意味
= x = y x = y
+= x += y x = x + y
-= x -= y x = x – y
* x *= y x = x * y
/ x /= y x = x / y
% x %= y x = x % y
**= x **= y x = x ** y

注意: 代入演算子についての詳細は、JS Assignment 章で説明されています。

JavaScriptの比較演算子

演算子 説明
== 等しい
=== 値と型が等しい
!= 等しくない
!== 値または型が等しくない
> より大きい
< より小さい
>= 以上
<= 以下
? 三項演算子

注意: 比較演算子についての詳細は、JS Comparisons 章で説明されています。

JavaScriptの文字列比較

上記のすべての比較演算子は、文字列に対しても使用できます:


let text1 = "A";
let text2 = "B";
let result = text1 < text2;

文字列は辞書順に比較されます:


let text1 = "20";
let text2 = "5";
let result = text1 < text2;

JavaScriptの文字列の加算

+ は文字列を追加(連結)するためにも使用されます:


let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;

+= 代入演算子も文字列を追加(連結)するために使用できます:


let text1 = "とても素敵な ";
text1 += "良い日";

text1 の結果は次のとおりになります:


とても素敵な 良い日

注意: 文字列に使用される + 演算子は、連結演算子と呼ばれます。

数値と文字列の加算

2つの数値を加算すると、合計が返されますが、数値と文字列を加算すると文字列が返されます:


let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;

x, y, z の結果は次のとおりです:


10
55
Hello5

注意: 数値と文字列を加算すると、結果は文字列になります!

JavaScriptの論理演算子

演算子 説明
&& 論理積
|| 論理和
! 論理否定

注意: 論理演算子についての詳細は、JS Comparisons 章で説明されています。

JavaScriptの型演算子

演算子 説明
typeof 変数の型を返します
instanceof オブジェクトがオブジェクト型のインスタンスである場合、true を返します

注意: 型演算子についての詳細は、JS Type Conversion 章で説明されています。

JavaScriptのビット演算子

ビット演算子は32ビットの数値に対して動作します。

操作の中で数値のオペランドは32ビットの数値に変換されます。結果はJavaScript数値に変換されます。

演算子 説明 同じ意味 結果 10進数
& AND 5 & 1 0101 & 0001 0001 1
| OR 5 | 1 0101 | 0001 0101 5
~ NOT ~ 5 ~0101 1010 10
^ XOR 5 ^ 1 0101 ^ 0001 0100 4
<< 左シフト 5 << 1 0101 << 1 1010 10
>> 右シフト 5 >> 1 0101 >> 1 0010 2
>>> 符号なし右シフト 5 >>> 1 0101 >>> 1 0010 2

上記の例は4ビットの符号なしの例ですが、JavaScriptでは32ビットの符号付き数値を使用します。

このため、JavaScriptでは ~ 5 は10を返しません。-6 を返します。

~00000000000000000000000000000101 は 11111111111111111111111111111010 を返します。