主な内容の要点
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 == NaN→ false(NaNは自分自身とも等しくない)null == undefined→ true(ただし===では false)- オブジェクト同士は「同じものを参照しているか」で判定される
let a = {x:1};
let b = {x:1};
console.log(a == b); // false(別々のオブジェクト)
let c = a;
console.log(a == c); // true(同じものを参照)
JavaScript4. よく使う場面
if文やfor文の条件式で利用される
let hobby = "映画";
if (hobby === "映画") {
console.log("映画を見に行きましょう");
} else {
console.log("散歩に行きましょう");
}
JavaScriptまとめ
==は型を無視して比較、===は型も含めて比較- 基本は
===を使うのが安全 NaNやnull/undefined、オブジェクト比較は特に注意
🔰 まずは「=== を使う」と覚えておけば安心です。慣れてきたら == の挙動も理解しておくと良いですよ!
