This way let's us do deep comparison between object instances.
I have a suggestion for the sys.inherits function. Today it's impossible to
deep comparison between instance and class.
Take this snippet for example:
function ClassA() {}
function ClassB() {}
sys.inherits(ClassB, ClassA);
var instance = new ClassB();
The instance variable inherits from ClassA but we can't check it (which is
useful sometimes). You can compare the instance against ClassB
(instance.constructor == ClassB) but we can't compare it deeper
(instance.constructor.super == ClassA). The committed change simply assign
super to the super constructor instead of the super prototype.
I can't see any problem with this fix. You can still get the super constructor
by calling super_.prototype.
process.inherits = function (ctor, superCtor) {
var tempCtor = function(){};
tempCtor.prototype = superCtor.prototype;
- ctor.super_ = superCtor.prototype;
+ ctor.super_ = superCtor;
ctor.prototype = new tempCtor();
ctor.prototype.constructor = ctor;
};