Ответ 1
Вы не можете перегружать ==
, но ==
имеет неявный вызов .toString()
, поэтому независимо от того, что возвращает .toString()
, вы сможете эффективно перегрузить ==
(kinda):
function foo(){}
foo.prototype.toString = function(){ return 42; }
var x = new foo();
x == 42; // true
Что касается того, как это сделать в Dojo, я не использую Dojo, извините, но суть в том, что вы получаете ссылку на любой объект, созданный, и добавляете thatObject.prototype.toString
, как в моем примере.