JavaScript | 等価演算子

JavaScript JavaScript
スポンサーリンク

主な内容の要点

1. 等価演算子の種類

JavaScriptには「値が同じかどうか」を調べるための演算子が4種類あります。

演算子意味特徴
==等しい値だけを比較(型は自動変換される)
!=等しくない値だけを比較(型は自動変換される)
===厳密に等しい値と型の両方を比較
!==厳密に等しくない値または型が違えばtrue

等価演算子 (== / !=) の特徴

  • 値の比較の前に 型変換 が行われることがあります。
  • 例:
console.log(10 == '10');   // true ← 文字列 '10' が数値 10 に変換されて比較される。 :contentReference[oaicite:5]{index=5}
console.log(null == undefined);  // true ← 特別なルール。 :contentReference[oaicite:6]{index=6}
JavaScript
  • オブジェクト型を比較する場合「同じオブジェクトを参照しているか」がポイント。内容が同じでも別オブジェクトなら false。
  • つまり、型の違いやオブジェクト参照の違いを “見落としがち” なため、初心者には少し注意が必要です。

厳密等価演算子 (=== / !==) の特徴

  • 型も値も 完全に一致 しているかをチェック。型が違えば即 false。
  • 例:
console.log(10 === '10');   // false ← 型が数値 vs 文字列なので false。 :contentReference[oaicite:9]{index=9}
console.log(null === undefined);  // false ← 型が違う。 :contentReference[oaicite:10]{index=10}
JavaScript
  • オブジェクト参照についても、等価演算子と同じ「同じオブジェクトかどうか」で判定。内容が同じでも別オブジェクトなら false。
  • 安全に比較したいときはこちらを使うことが 推奨されます。

2. == と === の違い

  • == は型が違っても自動的に変換して比較する
    例: 10 == "10"true
  • === は型も一致しないとfalse
    例: 10 === "10"false

👉 初心者は基本的に === を使うのがおすすめ。思わぬ型変換によるバグを防げます。


3. 特殊なケース

  • NaN == NaNfalse(NaNは自分自身とも等しくない)
  • null == undefinedtrue(ただし === では false)
  • オブジェクト同士は「同じものを参照しているか」で判定される
let a = {x:1};
let b = {x:1};
console.log(a == b);  // false(別々のオブジェクト)
let c = a;
console.log(a == c);  // true(同じものを参照)
JavaScript

4. よく使う場面

  • if 文や for 文の条件式で利用される
let hobby = "映画";
if (hobby === "映画") {
  console.log("映画を見に行きましょう");
} else {
  console.log("散歩に行きましょう");
}
JavaScript

まとめ

  • == は型を無視して比較、=== は型も含めて比較
  • 基本は === を使うのが安全
  • NaNnull/undefined、オブジェクト比較は特に注意

🔰 まずは「=== を使う」と覚えておけば安心です。慣れてきたら == の挙動も理解しておくと良いですよ!

タイトルとURLをコピーしました