- Published on
In loosely typed languages such as JavaScript or PHP, using `==`
to compare values is bad practice because it doesn't
account for type, hence `false == 0 == '' == null == undefined`, etc.
And you may accidentally match more than you bargained for.
If you want you can limit unintended effects & bugs this may lead to,
it's often wise to use `===`.
In the process of converting legacy
codebases to use these triple equality operators, I find that as a rule
of thumb you can almost **always force triple equality** in case of
comparing variables against **non-numerical strings**.
There's just never a case where you want the text `'Kevin'`
to pass for the boolean `true`, or the number `3`.
And if that can still happen in your legacy codebase,
you'll want to limit those risks rather sooner than later. Even if that
breaks things that now accidentally, work.