不等演算子とは?
不等演算子(!=と!==)は、2つの値が等しくないかどうかを比較するために使用されます。等価演算子と同様に、!=は型変換を行う演算子であり、!==は型変換を行わない厳密な不等演算子です。
console.log(5 != '5'); // false
console.log(5 !== '5'); // true
この例では、!=は型変換を行うため、5 != '5'はfalseとなります。一方、!==は型が異なるため、5 !== '5'はtrueとなります。
大小比較演算子
大小比較演算子は、数値や文字列などを比較し、大小関係を判定します。これには、次の4つの演算子があります。
| 演算子 | 説明 | 例 |
|---|---|---|
< |
左辺が右辺より小さい場合にtrueを返す |
5 < 10 → true |
<= |
左辺が右辺以下の場合にtrueを返す |
5 <= 5 → true |
> |
左辺が右辺より大きい場合にtrueを返す |
10 > 5 → true |
>= |
左辺が右辺以上の場合にtrueを返す |
10 >= 10 → true |
不等演算子と大小比較の例
次に、これらの演算子を使った具体的な比較の例を見てみましょう。
let a = 5;
let b = 10;
console.log(a != b); // true
console.log(a !== b); // true
console.log(a < b); // true
console.log(b > a); // true
console.log(a <= 5); // true
console.log(b >= 5); // true
この例では、不等演算子と大小比較演算子を使って、aとbの大小関係を確認しています。
文字列の比較
JavaScriptでは、文字列も大小比較が可能です。文字列の比較は、辞書順(Unicodeコードポイントの順序)に基づいて行われます。
console.log('apple' < 'banana'); // true
console.log('cat' > 'car'); // true
この例では、文字列'apple'と'banana'が比較されています。辞書順において'apple'は'banana'よりも前に来るため、'apple' < 'banana'はtrueとなります。また、文字列'cat'は'car'よりも辞書順で後にあるため、'cat' > 'car'はtrueとなります。
数値と文字列の比較
数値と文字列を比較する際、JavaScriptは文字列を数値に変換して比較します。次の例で確認してみましょう。
console.log('10' > 5); // true
console.log('10' < 20); // true
この例では、文字列'10'は数値に変換されてから比較されます。したがって、'10' > 5はtrueとなります。
不等演算子と大小比較の動作を表でまとめる
以下に、不等演算子および大小比較演算子の主な動作をまとめました。
| 式 | 結果 | 説明 |
|---|---|---|
5 != '5' |
false |
型変換が行われて比較されるため、等しい |
5 !== '5' |
true |
型が異なるため不等と判断される |
5 < 10 |
true |
5は10より小さい |
'apple' > 'banana' |
false |
辞書順でappleはbananaより前 |
プログラムの解説
<script>
// 不等演算子
let x = 5;
let y = 10;
console.log(x != y); // true
console.log(x !== y); // true
// 大小比較
console.log(x < y); // true
console.log(y > x); // true
// 文字列の比較
console.log('apple' < 'banana'); // true
console.log('cat' > 'car'); // true
// 数値と文字列の比較
console.log('10' > 5); // true
</script>
このプログラムでは、さまざまな比較演算を実行し、その結果をコンソールに出力しています。特に、型変換が行われるケースや文字列の比較にも注目してください。
まとめ
JavaScriptでは、不等演算子(!=と!==)や大小比較演算子(<、<=、>、>=)を使って、数値や文字列の比較を行います。!=は型変換を行い、!==は厳密な比較を行います。また、文字列の比較は辞書順で行われ、数値と文字列を比較する場合は文字列が数値に変換されます。