Today, we encounter a problem, do the following code return TRUE or False? Please explain why
Console.log ([] = =![])
Ran in the browser and found the result to be true. Why is that? Then found the relevant information.
In JavaScript 0, "", NULL, Unbdefined,nan,false is False, other is true
if NULL false {Console.log ("true")}else{Console.log ("false")}
Print result is False
In particular, when [] and = = or! = is used, it is treated as "", and a non-null or undefined object (including []) is used in a Boolean expression and is treated as true. So! The result of [] is false. Then []==! [] is equivalent to "" ==false, so the result is true.
The following code validates:
// print True, stating that [] and = = are treated as "" when used if ([]==false// print false, description [] with = = Falseif// print True, description in logical operation [] Be treated as true // print False
True and False in JavaScript