「==」演算子
データ型を暗黙的に変換して同じかどうかを判定してくれる。
例えば、以下は全てtrueになる。
1 2 3 |
//全てtrue console.log(1 == true) console.log('1' == true) |
「===」演算子
一方、「===」演算子の方はデータ型が同じかどうかまで判定してくれる。
例えば、「===」の場合、以下は全てfalseとなる。
1 2 3 |
//全てfalse console.log(1 == true) console.log('1' == true) |
基本的には「===」演算子を使用しよう
「==」演算子は、データ型を意識しなくてもJavaScript側でよしなにやってくれるという便利さがある。
しかし、その機能がもとでバグとなる可能性も高い。
曖昧であるがゆえに、意図しない挙動が入り込んでしまう可能性があるため。
なので、特別な理由がない限りは「===」演算子を優先して使う方が良い。