In JavaScript, every value can be coerced into a boolean value: either ``true`` or ``false``. Values that are coerced into ``true`` are said to be https://developer.mozilla.org/en-US/docs/Glossary/Truthy[_truthy_], and those coerced into ``false`` are said to be https://developer.mozilla.org/en-US/docs/Glossary/Falsy[_falsy_].
Explicit conversion to a boolean can be done with double negation (``!!``) or a ``Boolean`` call. Depending on the context, this may be redundant as JavaScript uses implicit type coercion and automatically converts values to booleans when used with logical operators, conditional statements, or any boolean context.
A redundant boolean cast affects code readability. Not only the condition becomes more verbose but it also misleads the reader who might question the intent behind the extra cast. The condition can be written without the Boolean cast.