Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
JavaScript Equality Table (dorey.github.io)
19 points by pdq on March 26, 2014 | hide | past | favorite | 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: ",".


Even better, [1] == 1 but [1] != [1]


If "false == X" is true, shouldn't we expect that "true == X" is false?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: