JavaScriptで値の比較をする場合に「==」を使うときは注意が必要です。
「==」での比較サンプル
「==」での比較は値が同じかどうかのみを比較して、型が一致するかどうかは考慮しないため以下のような結果となります。
| 比較 | 結果 |
|---|---|
| 1 == 1 | TRUE |
| 1 == '1' | TRUE |
| '' == false | TRUE |
| ' ' == false | TRUE |
| 1 == true | TRUE |
| '1' == true | TRUE |
| null == true | FALSE |
| null == false | FALSE |
| null == undefined | TRUE |
| null == '' | FALSE |
型が違うことを考慮しても、不可解な判定がありますので「==」での比較はご注意ください。