JavaScriptの演算子

この記事では、JavaScriptのさまざまな演算子の使い方をサンプルを交えて紹介しています。

+

加算

-

減算

*

乗算

/

除算

除算の演算例
演算 結果
2 / 1 2
3 / 2 1
1 / 0 Infinity

%

剰余

剰余の演算例
演算 結果
2 / 2 0
3 / 2 1
4 / 2 0
5 / 2 1

比較演算子

JavaScriptの比較演算子
演算子 説明
< 小さい
<= 以下
> 大きい
>= 以上

==

等しい
Javaの演算子とは異なり、文字列同士を比較することもできる。

比較演算子の使用例
演算 結果
1 == 1 true
1 == '1' true
null == undefined true

===

厳密に等しい

比較演算子の使用例
演算 結果
1 === 1 true
1 === '1' false
null === undefined false

!=

等しくない

比較演算子の使用例
演算 結果
1 != 1 false
1 != '1' false
1 !== 1 false
1 !== '1' true

!==

厳密には等しくない

in

指定したプロパティがオブジェクトにあればtrue、なければfalseを返す。

var e = document.createElement('input');
if ('placeholder' in e) {
  // プロパティあり
}

instanceof

オブジェクトが別のオブジェクトのインスタンスかどうか

typeof

JavaScriptのデータ型はtypeof演算子で判定することができる。

var x = 1;
if (typeof x === "number") {
  console.log("number")
} if (typeof x === "string") {
  console.log("string")
} if (typeof x === "boolean") {
  console.log("boolean")
} if (typeof x === "null") {
  console.log("null")
} if (typeof x === "object") {
  console.log("object")
} if (typeof x === "array") {
  console.log("array")
} if (typeof x === "undefined") {
  console.log("undefined")
}

&&

論理積 (AND)

論論理積の演算例
演算 結果
false && false false
true && false false
true && true true
undefined && null undefined

||

論理和 (OR)

論理和の演算例
演算 結果
false || false false
true || false true
true || true true
undefined || null null

^

JavaScript において、^ は排他的論理和 (XOR) を表す論理演算子である。

排他的論理和の演算例
演算 結果
0 ^ 0 0
0 ^ 1 1
1 ^ 0 1
1 ^ 1 0
0b1100 ^ 0b1010 0b0110

!

否定 (NOT)

否定の演算例
演算 結果
!true false
!false true
!null true
!undefined true

ビット演算子

JavaScriptのビット演算子
演算子 説明
<< 左シフト
>> 算術右シフト(符号あり右シフト)
>>> 論理右シフト(符号なし右シフト)

代入演算子

JavaScriptの代入演算子
演算子 説明
= 代入
+= 加算値を代入 (a += ba = a + bと同じ)
-= 減算値を代入 (a -= ba = a - bと同じ)
*= 乗算値を代入 (a *= ba = a * bと同じ)
/= 除算値を代入 (a /= ba = a / bと同じ)
%= 剰余値を代入 (a %= ba = a % bと同じ)
<<= 左シフトした値を代入 (a <<= ba = a << bと同じ)
>>= 算術右シフト(符号あり右シフト)した値を代入 (a >>= ba = a >> bと同じ)
>>>= 論理右シフト(符号なし右シフト)した値を代入 (a >>>= ba = a >>> bと同じ)
&= ビット論理積(AND)の値を代入 (a &= ba = a & bと同じ)
|= ビット論理和(OR)の値を代入 (a |= ba = a | bと同じ)
^= ビット排他的論理和(XOR)の値を代入 (a ^= ba = a ^ bと同じ)