In IE and Chrome, typing this into the JavaScript console throws an exception:
{} == false // "SyntaxError: Unexpected token =="
However, all of these statements are evaluated with no problem:
false == {} // false
({} == false) // false
var a = {};
a == false // false
Is this intentional behavior? Why does this happen?
See Question&Answers more detail:os