In JavaScript, true and false are a little bit tricky. In most languages, the boolean values true and false represent the true/false results. In JavaScript, a string such as Packt evaluates to true.
The following table can help us better understand how true and false work in JavaScript:
Value Type |
Result |
undefined |
false |
null |
false |
Boolean |
true is true and false is false |
Number |
The result is false for +0, -0, or NaN; otherwise, the result is true |
String |
The result is false if the string is empty (length is 0); otherwise, the result is true (length >= 1) |
Object |
true |
Let's consider some examples and verify their output:
function testTruthy(val) { return val ? console.log('truthy') ...