比較演算子とは?
比較演算子は、2つの値を比べて同じかどうか、大きいか小さいかといった関係を調べるための演算子です。
比較した結果は、trueまたはfalseのどちらかになります。
ここでは、比較演算子そのものの役割と基本的な使い方を整理していきます。
知識を取り込み、そして発信する
比較演算子は、2つの値を比べて同じかどうか、大きいか小さいかといった関係を調べるための演算子です。
比較した結果は、trueまたはfalseのどちらかになります。
ここでは、比較演算子そのものの役割と基本的な使い方を整理していきます。
2つの値が同じかどうかを調べたいときに使うのが、「等しいか」を判定する比較演算子です。
数値や文字列などを比較し、結果として true または false が得られます。
構文
//型変換を行って比較
値 == 値
//型と値をそのまま比較
値 === 値
比較演算子は、左右に並べた2つの値を比べて使います。
==は、値が同じかどうかを調べ、===は、値とデータ型の両方が同じかどうかを調べます。
どちらも等しいかを調べますが、判定の厳しさが異なります。
なお、=だけだと代入という意味になり、等しさを調べられません。
コード例
//equal.js
alert(1 == 1);
alert(1 == '1');
alert(1 === 1);
alert(1 === '1');
動作例
※このボタンは動作確認用です
1つずつ解説していきます。
1==1は、同じ数値なのでtrueと表示されます。
1=='1'は、データ型が異なりますが、見た目の値が同じためtrueと表示されます。
1===1は、値もデータ型も同じなのでtrueと表示されます。
1==='1'は、データ型が異なるため、見た目が同じでもfalseと表示されます。
このように==は比較のルールがゆるく、===は値とデータ型の両方を正確に比較します。
そのため、意図しない判定を防ぐためには、基本的に===を使うと覚えておくと安心です。
2つの値が同じではないかどうかを調べたいときに使うのが、等しくないを判定する比較演算子です。
等しい場合とは逆に、違いがあるかどうかを確認できます。
構文
//型変換を行って比較
値 != 値
//型と値をそのまま比較
値 !== 値
等しくないを表す比較演算子も、左右に並べた2つの値を比べて使います。
!= は、値が同じでないかどうかを調べ、!== は、値またはデータの種類が異なるかどうかを調べます。
等しい場合と同様に、2種類の書き方があり、判定の厳しさが異なります。
コード例
//notEqual.js
alert(1 != 2);
alert(1 != '1');
alert(1 !== 2);
alert(1 !== '1');
動作例
※このボタンは動作確認用です
1つずつ解説していきます。
1!=2は、数値が異なるためtrueと表示されます。
1!='1'は、データ型が異なりますが、見た目の値が同じためfalseと表示されます。
1!==2は、数値が異なるためtrueと表示されます。
1!=='1'は、データ型が異なるため、見た目が同じでもtrueと表示されます。
このように!=は比較のルールがゆるく、!==は値とデータ型の両方を正確に比較します。
等しい場合と同様、意図しない判定を防ぐためには、基本的に!==を使うと覚えておくと安心です。
また、語感的にtrueは正しい場合なので躊躇ってしまいますが、異なっているから正しいためtrueと考えるといいでしょう。
数値の大小関係を調べたいときに使うのが、大小を判定する比較演算子です。
どちらが大きいか、同じかそれ以上かといった条件を表現できます。
構文
//左の値が右の値を超えるか
値 > 値
//左の値が右の値未満か
値 < 値
//左の値が右の値以上か
値 >= 値
//左の値が右の値以下か
値 <= 値
大小を比べる比較演算子は、左右に並べた2つの値の関係を判定します。
なお、文字列同士を比較することもできますが、ここでは数値の比較に絞って説明します。
コード例
//bigSmall.js
alert(5 > 3);
alert(5 < 3);
alert(5 >= 5);
alert(3 <= 2);
動作例
※このボタンは動作確認用です
1つずつ解説していきます。
5 > 3は、5が3を超えるためtrueと表示されます。
5 < 3は、5が3未満ではないためfalseと表示されます。
5 >= 5は、5以上なのでtrueと表示されます。
3 <= 2は、2以下のためfalseと表示されます。
このように、大小の比較では超える、超えないだけでなく、以上か以下かも重要になります。
=<や=>はエラーになりますので、気を付けましょう。
なお、この比較演算子はfor文で目にしています。
コード例
let num = 0;
for(let i=0; i<10; i++){
num = num + i;
}
alert(num);
比較演算子の箇所だけに対して説明すると、10よりも小さい間は処理を続けるため、0から9までの合計10回、処理が実行されます。
もしi<=10だった場合は10まで処理することとなります。
比較演算子は、値同士の関係を判断するための仕組みです。
この考え方をもとに、次ページでは条件によって処理を分けるif文を見ていきます。