JavaScript Equality Table(dorey.github.io)
dorey.github.io
JavaScript Equality Table
http://dorey.github.io/JavaScript-Equality-Table/
4 comments
It's funy that "true==[[]]" is false but "false==[[]]" is true. Maybe someone could explain why "[[]]" is considered false?
If you write ([[]] == false) you compare values of this object. Internally a [[]].toString() is called which gives an empty string (cause the first element is also an empty array) which in turn is considered false in javascript.
Otherwise [[],[]] is true cause cause [[],[]].toString() gives you this string: ",".
Otherwise [[],[]] is true cause cause [[],[]].toString() gives you this string: ",".
Even better, [1] == 1 but [1] != [1]
If "false == X" is true, shouldn't we expect that "true == X" is false?