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: ",".