Here is one of the questions in JavaScript online-test before job interview:
function F(){};
var a = new F();
var b = new F();
Q: How to make comparison a == b to be true? (e.g. console.log(a == b) // true)
I answered that it's impossible because a and b are two different instances of F and equal comparison in JS in case of non-primitives compares reference.
But some time ago I've read article "Fake operator overloading in JavaScript" by Axel Rauschmayer: http://www.2ality.com/2011/12/fake-operator-overloading.html — and I wonder if there is a hack to fake operator overload in comparison of objects?
 
     
    