JavaScript | 関係演算子(比較演算子)

JavaScript JavaScript
スポンサーリンク

JavaScript 関係演算子 練習問題(10問)

では、さきほどの関係演算子の解説をもとに、初心者向け「練習問題10問+解答・詳解」セットを紹介します
テーマは「比較演算子の理解」「型変換のしくみ」「予想外の比較結果を見抜く力」です。


💡出題ルール

  • すべて true または false になります。
  • 各問題のあとに「自分の予想」を考えてから答えを確認してみましょう。
  • ただ覚えるよりも、「なぜそうなるのか」を理解するのが目的です!

問題1

console.log(5 < 10);
JavaScript

解答: true
解説:
5 は 10 より小さいので、シンプルに true
基本的な数値比較です。


問題2

console.log(7 >= 7);
JavaScript

解答: true
解説:
「以上(>=)」なので、等しい場合も true
7 == 7 が成り立つためです。


問題3

console.log('120' > '3');
JavaScript

解答: false
解説:
両方が文字列なので、**数値としてではなく「文字の順番」で比較」**されます。
‘1’(コードポイント65)と ‘3’(コードポイント67)を比べるため、
'1' < '3'false

つまり「120」ではなく「最初の文字の比較」です。


問題4

console.log('120' > 3);
JavaScript

解答: true
解説:
片方が文字列、もう片方が数値なので、
文字列 '120' は数値 120 に自動変換されます。
120 > 3true


問題5

console.log('5' < '12');
JavaScript

解答: false
解説:
文字列同士の比較。
1文字目 ‘5’ と ‘1’ を比較 → ‘5’ は ‘1’ より大きいので false
👉 数値の大小ではなく「文字の並び順」で比べている。


問題6

console.log(null >= 0);
JavaScript

解答: true
解説:
比較演算では null が数値 0 に変換されるため、
0 >= 0true
ただし、null > 0false になる点に注意!(微妙に違う)


問題7

console.log(undefined > 0);
JavaScript

解答: false
解説:
undefined は数値に変換できず NaN(数値でない値)になります。
NaN との比較は常に false
👉 これも初心者が混乱しやすいポイント!


問題8

console.log(0 == false);
JavaScript

解答: true
解説:
== は型変換を行う「ゆるい比較」。
false0 に変換されて、0 == 0true
=== を使えば false になります)


問題9

console.log([1,2] == '1,2');
JavaScript

解答: true
解説:
配列 [1,2] は比較時に自動で "1,2" という文字列に変換されます。
つまり "1,2" == "1,2"true
ただし、こうした挙動に頼るコードはバグのもと!


問題10

console.log(NaN == NaN);
JavaScript

解答: false
解説:
NaN(Not-a-Number)は「どんな値とも等しくない」特殊な数。
自分自身とも等しくないため、false
NaN を調べたいときは Number.isNaN() を使いましょう。

Number.isNaN(NaN); // true
JavaScript

まとめ:比較のポイント整理表

パターン比較対象自動変換の有無結果の傾向
数値 vs 数値なしなし直感どおり
文字列 vs 文字列コード順なし数字比較ではない
数値 vs 文字列文字列→数値あり直感どおりになることが多い
null0 として扱われる(時々)あり微妙な差あり(>= と > で違う)
undefinedNaN になるあり常に false
true / false1 / 0 に変換あり0 == false → true
NaN比較不能ありすべて false
オブジェクト参照を比較なし内容が同じでも false

追加チャレンジ問題(応用)

自信がついてきたら挑戦!

console.log('2' + 2 > '22');  // 問1
console.log([] == false);     // 問2
console.log(null == undefined); // 問3
console.log(null === undefined); // 問4

See the Pen JavaScript Relational Operators Quiz by MONO365 -Color your days- (@monoqlo365) on CodePen.

See the Pen JavaScript Relational Operators Quiz #2 by MONO365 -Color your days- (@monoqlo365) on CodePen.

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