JavaScriptではよく「==」ではなく「===」を使ったほうがいいと聞きますが、いまいち理由がわかっていなかった(なんか厳密になる?くらい)のでまとめました。
よく聞く「==は厳密な比較ができない」というのは、__引数の型__に問題があります。
JavaScriptでは暗黙の型変換がありますので、== による比較によって比較対象の型が意図しない方法で比較される恐れがあります。
Effective JavaScriptによると、==演算子によって強制的に引き起こされる振る舞いは以下のようになります。