In JavaScript, things can be , or , but they can also be or . The concept of and are usually considered only in a boolean context, like in an statement, but they also affect other parts of JavaScript - for example, what is returned from the logical OR operator. true false truthy falsy truthy falsy if..else What Does Truthy and Falsy Mean in JavaScript Something is considered in JavaScript if it can be converted to . In the same way, something is simply if it is not considered . falsy false truthy falsy While may seem like a vague statement, it actually has a specific definition. falsy The following values are considered : falsy false or or 0 -0 0n any empty string, i.e., "" null undefined NaN Similarly, anything that is not equal to these is considered , for example: truthy any object, i.e., , or . {} [] any non-zero number any non-empty string any non , , or value. null undefined NaN Use of Truthy and Falsy and values have implications in JavaScript logic. For example, anything that can be converted to in a boolean setting (such as ) is converted to , and the same goes for statements. truthy falsy truthy if..else true falsy For example, the following statement is , simply because is a statement: if true "1" truthy if("1") { console.log('ok'); } If the statement instead said , it would return false, since is . As you get into JavaScript, you'll find references to and everywhere, so it's good to familiarise yourself with the concept now. if(0) 0 falsy truthy falsy