JavaScriptにおける演算子とは、特定の処理や計算を行うための記号やキーワードであり、値や変数に対して演算を適用する役割を持ちます。その演算子によって操作される対象となる値や変数のことを被演算子と呼びます。
加算
減算
乗算
除算
| 演算 | 結果 | 
|---|---|
| 2 / 1 | 2 | 
| 3 / 2 | 1 | 
| 1 / 0 | Infinity | 
剰余
| 演算 | 結果 | 
|---|---|
| 2 / 2 | 0 | 
| 3 / 2 | 1 | 
| 4 / 2 | 0 | 
| 5 / 2 | 1 | 
| 演算子 | 説明 | 
|---|---|
| < | 小さい | 
| <= | 以下 | 
| > | 大きい | 
| >= | 以上 | 
==等しい
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 | 
!==厳密には等しくない
指定したプロパティがオブジェクトにあればtrue、なければfalseを返す。
var e = document.createElement('input');
if ('placeholder' in e) {
  // プロパティあり
}オブジェクトが別のオブジェクトのインスタンスかどうか
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 | 
| 演算子 | 説明 | 
|---|---|
| << | 左シフト | 
| >> | 算術右シフト(符号あり右シフト) | 
| >>> | 論理右シフト(符号なし右シフト) | 
| 演算子 | 説明 | 
|---|---|
| = | 代入 | 
| += | 加算値を代入 ( a += bはa = a + bと同じ) | 
| -= | 減算値を代入 ( a -= bはa = a - bと同じ) | 
| *= | 乗算値を代入 ( a *= bはa = a * bと同じ) | 
| /= | 除算値を代入 ( a /= bはa = a / bと同じ) | 
| %= | 剰余値を代入 ( a %= bはa = a % bと同じ) | 
| <<= | 左シフトした値を代入 ( a <<= bはa = a << bと同じ) | 
| >>= | 算術右シフト(符号あり右シフト)した値を代入 ( a >>= bはa = a >> bと同じ) | 
| >>>= | 論理右シフト(符号なし右シフト)した値を代入 ( a >>>= bはa = a >>> bと同じ) | 
| &= | ビット論理積(AND)の値を代入 ( a &= bはa = a & bと同じ) | 
| |= | ビット論理和(OR)の値を代入 ( a |= bはa = a | bと同じ) | 
| ^= | ビット排他的論理和(XOR)の値を代入 ( a ^= bはa = a ^ bと同じ) |