I am refactoring a bunch of old code and see that JSCS shows a warning about implicit type conversion for !!someVar statements.
Is it correct to replace all these implicit conversions with Boolean(someVar) so that nothing breaks due to this change?
I am refactoring a bunch of old code and see that JSCS shows a warning about implicit type conversion for !!someVar statements.
Is it correct to replace all these implicit conversions with Boolean(someVar) so that nothing breaks due to this change?
Is it 100% correct to replace
!!someVar
withBoolean(someVar)
?
No. The global Boolean
variable might be overwritten/shadowed, the !!
operators cannot.
Is it correct to replace all these implicit conversions with
Boolean(someVar)
so that nothing breaks due to this change?
Yes. If your code breaks because of this change, it should be considered already broken, and you should fix the thing that messes with Boolean
instead.
As another option, you could disable that warning. Using truthiness/falsiness is pretty accepted in Javascript programming. Looks like you can just disable it for boolean
and not the other types.