この記事では、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 と同じ)
|