駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

JavaScriptの比較演算子

比較演算子・・・

if文やfor文・while文などのループ処理の条件式に使われることが多く、2つの値を比較するに使用します。

 

比較演算子には種類があります。まずは「 <> 」系の上4つを見ていきます。

  > //より大きい
  < //より小さい
  >= //以上
  <= //以下
  == //等価
  != //不等価
  === //厳密な等価
  !== //厳密な不等価

 10 > 1; // true
 0.2 > 0.3; //false
 -10 < 0; //true
 50.7 < 5; //false
 2.5 <= 2.5; //true
 80 >= 5; //false
 99 >= 99; //true

2つの値を比較し、「 true/false 」を返してくれます。

変数に入れて使うことも可能です。

 let age = 30;
 age >= 18; //true

変数「age」が18歳以上なのかどうか知りたかったとします。

上記のように、比較演算子で比べて見ると、31歳は18歳より大きいので「 true 」を返すことがわかります。これを用いて、if文などで条件分岐させることができます。

 

次に下4つ「==など」について見ていきます。

==(ダブルイコール)

・値が等しいか判断するが、型は気にしない

・値の型が異なる場合、型の変換を試みてから比較を行う

(これのせいで意図しない結果になる場合もあります・・・)

  1 == 1; //true
  1 == '1'; //true
 'c' == 'e'; //false
  0 == ''; //true
  0 == false; //true
 null == undefined; //true
 true == false; //false

これに対し、

===(トリプルイコール)

・値と型の両方が一致しているか判断します。

10 === 10; //true
2 === '2'; //false
3 === 6; //false
0 === false; //false

 

最後に

!==(!=) ノットイコール

「 ! 」は反対にするの意味

1 != 2; //true
1 != '6'; //true
3 != '3'; //false
1 !== '1'; //true

このように記述できます。

ノットイコールに関しては少しややこしいですが、

覚えておくべきことは、比較する時は、「 === 」系を使うことです。

 

以上、比較演算子についてまとめてみました。