【JS学習マラソン】第11回 1.2.8 比較
JavaScript学習マラソンの第11回は、
「現代の JavaScript チュートリアル」パート1の2.8「比較」です。
比較 https://ja.javascript.info/comparison
を読んでみます。
比較とは?
- aとbが同じか、違うか?
- 違う場合は、大きいか、小さいか?
などということを比べる作業ですね。

JavaScriptの比較演算子
等価演算子(同じか、違うか)
- == 等価
- != 不等価
- === 厳密等価(一致)
- !== 厳密不等価(不一致)
関係演算子(大きいか、小さいか)
という比較用の演算子(記号)が用意されてます。
比較は条件分岐(ifやswitch)で使用
比較は、ifやswitchなど、条件分岐の処理で使われますね。
=条件式を書くところで出番がある。
比較で注意するところは、単純な比較(==)と厳密な比較(===)の使い分けでしょうか。
チュートリアルでは、
- 「0」(数値)
- 「false」(真偽値)
を比較する例が紹介されていました。
- 0 == false → true
- 0 === false → false
0とfalseが、同じか違うかを比較するとき、
- 単純な比較である「==」を使うと、0とfalseは同じと判断されます。
- 厳密な比較である「===」を使うと、0とfalseは別物と判断されます。
「===」を使うと、データの型の違いまでチェックするので、数値と真偽値では別物と判断されるんですね。
普通は、単純な比較で十分だけど、型まで判定して比較したい場合は、厳密な比較を使わないといけません。
TPOに応じて、比較を使い分けましょう。
まとめ
(教材のサマリーから引用)
- 比較演算子は論理値を返します。
- 文字列は "辞書” 順で、1文字ずつ比較されます。
- 異なった型の値が比較される場合、それらは数値に変換されます(厳密な等価チェックを除く)
- 値 null と undefined はそれぞれ等価 == であり、それ以外の値とは等価ではありません。
- > または < のような比較を、null/undefined になる可能性のある変数に対して使う場合は注意してください。null/undefined を別々にチェックするのが良いアイデアです。

スラスラ読める JavaScript ふりがなプログラミング (ふりがなプログラミングシリーズ)
- 作者: リブロワークス,及川卓也
- 出版社/メーカー: インプレス
- 発売日: 2018/06/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る