In some cases '==' is very useful. Like when we have to compare value (String)"10" with value 10(Integer).By using "==" in this case, we don't have to perform any explicit conversion.
No, do the explicit conversion, then compare strictly. Otherwise you are leaving yourself open to bugs that will be hard to detect. There's literally no case where == is desirable.
The only case when I use == is comparing to null, that also checks for undefined. It is an extremely rare when you need to check for undefined and null independently
You should avoid all sort of comparisons using '=='
In some cases '==' is very useful. Like when we have to compare value (String)"10" with value 10(Integer).By using "==" in this case, we don't have to perform any explicit conversion.
No, do the explicit conversion, then compare strictly. Otherwise you are leaving yourself open to bugs that will be hard to detect. There's literally no case where == is desirable.
Thanks for making the point. :-)
The only case when I use == is comparing to null, that also checks for undefined. It is an extremely rare when you need to check for undefined and null independently
I prefer Object.is() to compare NaN and for undefined I just pass variable inside of condition because undefined is falsey value.
If you need to check for
undefined
andnull
just doif (variable === undefined || variable === null) {
if I see code doing:
if (variable == null) {
I have no way to know if you actually wanted to check only for
null
ornull
andundefined
.It is always better to be explicit.