Falsy-Truthy Values
Its just how javascript evaluates the true and false values under-the-hood
[[JavaScript/Index.docs|JavaScript]] tries to convert a value to a boolean if it doesn't get a boolean comparison and also not a boolean itself
Input value of "0" is considered as False/Falsy Any other number is considered as True/Truthy Empty String is considered as False/Falsy Any other strings are considered True/Truthy All objects and arrays even they are empty are considered True/Truthy Null, Undefined, NaN are considered as False/Falsy
let userInput = "Harry"
if(userInput){
//this code will execute because 'Max' is truthy value
}JavaScript tries to coerce(convert without really converting) the value you pass to it(or other places where conditions are required) to boolean values.
That means that it tires to interpret Max as boolean - ad there it follows the rules outlined as mentioned above.
-> JavaScript doesn't really convert the value of the variable though
if(userInput){}the above snippet basically transformed to (bts)
if(userInput === true){}Last updated