【JavaScript】比較演算 - 2値の関係性の真偽を比較演算子で算出する
JavaScriptの比較演算について解説します。
検証環境
比較演算
比較演算は“2値の関係性の真偽を判定する演算”です。
演算結果として、関係性が正しい場合は真(true
)、正しくない場合は偽(false
)を算出します。
例えば変数num
と数値8
の2つの値について、“num
の値は8
と『等しい』”や“num
の値は8
『より小さい』”などの関係性が正しいかを判定します。
仮にnum
の値が3
(数値)とすると、前者の比較演算(“num
の値は8
と『等しい』”)は偽、後者の比較演算(“num
の値は8
『より小さい』”)は真となります。
比較演算子
比較演算子は“比較演算の種類を表す記号”です。
例えば、“2値の関係が等しい”を表す演算子は==
で、代表的な比較演算子は次の通りです。
演算子 | 関係性 | 例 |
---|---|---|
== | 値が等しい | num == 10 |
=== | 値と型が等しい | num === 10 |
!= | 値が等しくない | num != 10 |
!== | 値または型が等しくない | num !== 10 |
< | 値の大小関係(左オペランドが右オペランドより小さい) | num < 10 |
> | 値の大小関係(左オペランドが右オペランドより大きい) | num > 10 |
<= | 値の大小関係(左オペランドが右オペランド以下) | num <= 10 |
>= | 値の大小関係(左オペランドが右オペランド以上) | num >= 10 |
基本構文
左オペランド 比較演算子 右オペランド
左オペランドと右オペランドの値が比較演算子で示す関係性であるかどうかを判定します。
サンプル
各比較演算子のサンプルを以下に示します。
==
(値が等しい)
==
演算子は左右オペランドの値が等しいことを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let num3 = 11;
___ih_hl_start
let result1 = num1 == num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 == num3;
___ih_hl_end
console.log(result2);
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 == num2
の比較演算は変数num1
と変数num2
の値が等しいことを判定します。
いずれも値は5
のため、この演算結果はtrue
になります。
8行目のnum1 == num3
の比較演算は変数num1
と変数num3
の値が等しいことを判定します。
num1
の値は5
、num3
の値は11
であり、値が等しくないため、false
になります。
===
(値と型が等しい)
===
演算子は左右オペランドの値と型が等しいことを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let str1 = '5';
___ih_hl_start
let result1 = num1 === num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 === str1;
___ih_hl_end
console.log(result2);
let result3 = num1 == str1;
console.log(result3);
true
false
true
2つの比較演算(5行目と8行目)があります。
5行目のnum1 === num2
の比較演算は変数num1
と変数num2
の値と型が等しいことを判定します。
いずれも数値型で値は5
のため、この演算結果はtrue
になります。
8行目のnum1 === str1
の比較演算は変数num1
と変数str1
の値と型が等しいことを判定します。
num1
は数値型、str1
は文字列型で型が等しくないため、false
になります。
なお、num1
とstr1
について==
比較演算子ではtrue
(11行目)となります。
!=
(値が等しくない)
!=
演算子は左右オペランドの値が等しくないことを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let num3 = 11;
___ih_hl_start
let result1 = num1 != num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 != num3;
___ih_hl_end
console.log(result2);
false
true
2つの比較演算(5行目と8行目)があります。
5行目のnum1 != num2
の比較演算は変数num1
と変数num2
の値が等しくないことを判定します。
いずれも数値型で値は5
で等しいため、この演算結果はfalse
になります。
8行目のnum1 != num3
の比較演算は変数num1
と変数num3
の値が等しくないことを判定します。
num1
は5
、num3
は11
で等しくないため、この演算結果はtrue
になります。
!==
(値または型が等しくない)
!==
演算子は左右オペランドの値または型が等しくないことを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let str1 = '5';
___ih_hl_start
let result1 = num1 !== num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 !== str1;
___ih_hl_end
console.log(result2);
let result3 = num1 != str1;
console.log(result3);
false
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 !== num2
の比較演算は変数num1
と変数num2
の値と型が等しくないことを判定します。
いずれも数値型で値は5
のため、この演算結果はfalse
になります。
8行目のnum1 !== str1
の比較演算は変数num1
と変数str1
の値と型が等しくないことを判定します。
num1
は数値型、str1
は文字列型で型が等しくないため、true
になります。
なお、num1
とstr1
は!=
比較演算子ではfalse
(11行目)となります。
<
(左オペランドが右オペランドより小さい)
<
演算子は左オペランドが右オペランドより小さいことを判定する比較演算子です。
let num1 = 5;
let num2 = 11;
let num3 = 5;
___ih_hl_start
let result1 = num1 < num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 < num3;
___ih_hl_end
console.log(result2);
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 < num2
の比較演算は変数num1
が変数num2
よりも小さいことを判定します。
num1
は5
、num2
は11
のため、この演算結果はtrue
になります。
8行目のnum1 < num3
の比較演算は変数num1
が変数num3
よりも小さいことを判定します。
num1
とnum3
はいずれも5
のため、この演算結果はfalse
になります。
>
(左オペランドが右オペランドより大きい)
>
演算子は左オペランドが右オペランドより大きいことを判定する比較演算子です。
let num1 = 5;
let num2 = 2;
let num3 = 5;
___ih_hl_start
let result1 = num1 > num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 > num3;
___ih_hl_end
console.log(result2);
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 > num2
の比較演算は変数num1
が変数num2
よりも大きいことを判定します。
num1
は5
、num2
は2
のため、この演算結果はtrue
になります。
8行目のnum1 > num3
の比較演算は変数num1
が変数num3
よりも大きいことを判定します。
num1
とnum3
はいずれも5
のため、この演算結果はfalse
になります。
<=
(左オペランドが右オペランド以下)
<=
演算子は左オペランドが右オペランド以下であることを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let num3 = 2;
___ih_hl_start
let result1 = num1 <= num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 <= num3;
___ih_hl_end
console.log(result2);
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 <= num2
の比較演算は変数num1
が変数num2
以下であることを判定します。
num1
とnum2
はいずれも5
のため、この演算結果はtrue
になります。
8行目のnum1 <= num3
の比較演算は変数num1
が変数num3
以下であることを判定します。
num1
は5
、num3
は2
のため、この演算結果はfalse
になります。
>=
(左オペランドが右オペランド以上)
>=
演算子は左オペランドが右オペランド以上であることを判定する比較演算子です。
let num1 = 5;
let num2 = 5;
let num3 = 11;
___ih_hl_start
let result1 = num1 >= num2;
___ih_hl_end
console.log(result1);
___ih_hl_start
let result2 = num1 >= num3;
___ih_hl_end
console.log(result2);
true
false
2つの比較演算(5行目と8行目)があります。
5行目のnum1 >= num2
の比較演算は変数num1
が変数num2
以上であることを判定します。
num1
とnum2
はいずれも5
のため、この演算結果はtrue
になります。
8行目のnum1 >= num3
の比較演算は変数num1
が変数num3
以上であることを判定します。
num1
は5
、num3
は11
のため、この演算結果はfalse
になります。