JavaScriptで「もし〜なら」という処理(条件分岐)を作るときに欠かせないのが、「比較演算子」です。
「AとBは同じかな?」「AのほうがBより大きいかな?」といった判定を行い、その結果をtrue(正しい)かfalse(間違い)で教えてくれる記号のことです。
本記事では、基本となる比較演算子の種類から、特に間違いやすい==と===の決定的な違いまで、初心者向けに詳しく解説します。
比較演算子とは?結果は必ず「真偽値」になる
比較演算子とは、2つの値を比べて、その関係が正しいかどうかを判定する記号です。
演算子を使って比較した結果は、必ず以下のどちらかの値(真偽値)になります。
- true:その条件が「正しい」とき
- false:その条件が「間違い」のとき
例えば、5 > 3という式は正しいので結果はtrueになり、5 < 3は間違いなのでfalseになります。このtrueかfalseかによって、if文などの次の動きが決まるのです。
if文の基礎を復習したい方はこちら:
これだけは覚えたい!比較演算子の全種類
まずは、よく使われる比較演算子を整理しましょう。
等価演算子(同じかどうか)
- ===(厳密等価演算子):左右が「等しい」ときにtrue
- ==(等価演算子):左右が「(だいたい)等しい」ときにtrue
- !==(厳密不等価演算子):左右が「等しくない」ときにtrue
関係演算子(大きさの比較)
- >:左が右より大きい
- <:左が右より小さい
- >=:左が右以上(右と同じか、大きい)
- <=:左が右以下(右と同じか、小さい)
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
| === | 等しい(型も含む) | 10 === 10 | true |
| == | 等しい(型変換あり) | 10 == “10” | true |
| !== | 等しくない | 10 !== 5 | true |
| > | より大きい | 5 > 3 | true |
| < | より小さい | 5 < 3 | false |
| >= | 以上 | 5 >= 3 | true |
| <= | 以下 | 5 <= 3 | false |
【最重要】「==」と「===」の違いとは?
JavaScriptは「等しい」を表す記号が2種類ありますが、実務ではほぼ100%===(イコール3つ)を使います。その理由は、データの「型」をどう扱うかにあります。
==(等価演算子)は「型」を勝手に変換する
==は、データの種類(型)が違っても、JavaScriptが気を利かせて「だいたい同じならOK」と判定してしまいます。
console.log(10 == "10"); // true(数値と文字列だけど、中身が同じだからOK!)
一見便利に見えますが、これが予期せぬバグ(間違い)の原因になります。
===(厳密等価演算子)は「型」まで厳しくチェックする
対して===は、値だけでなく「型」も一致していないとtrueにしません。
console.log(10 === "10"); // false(数値と文字列なので、型が違うからダメ!)
console.log(10 === 10); // true(数値同士で、値も同じなのでOK!)
現代のJavaScript開発では、より正確に判定を行うために、この===を使うのが鉄則となっています。
大小比較(不等号)の注意
数値を比べる>=(以上)や<=(以下)を使う際、初心者が間違いやすいポイントが2つあります。
記号の順番
必ず > や < を先に書き、 = を後に書きます。
- 正解:>= / <=
- 間違い:=>(これはアロー関数という別の意味になってしまいます)
「以上・以下」は「その数字も含む」
score >= 80と書いた場合、80点ちょうどでもtrueになります。
「80点より大きい(80点は含まない)」としたい場合は、score > 80を使いましょう。
比較演算子の実践的な使い方(if文との組み合わせ)
比較演算子は、単体で使うよりもif文などの条件式の中で真価を発揮します。
const myAge = 18;
if (myAge >= 18) {
console.log("あなたは成人です。");
} else {
console.log("あなたは未成年です。");
}
このように、「もしmyAge >= 18」がtrueなら上の処理を実行する」という流れになります。
まとめ
比較演算子は、プログラムが「自分で判断する」ための基準を作る大切な道具です。
- 比較演算子の結果は、必ずtrueかfalseになる。
- 「同じ」を判定するときは、必ず===(イコール3つ)を使う。
- ==(イコール2)は型を勝手に変えてしまうので、バグの元になる。
- >=や<=は、イコールの位置を間違えないように注意する。
まずはブラウザのコンソールで、100===”100″や5 > 3と打ち込んでみて、どのように結果が返ってくるか試してみてください。この「感覚」を掴むことが、複雑なプログラムを書くための第一歩です。

