Можно префикс одинаковый делать
function superize(Child, prefix) {
var p1 = Child.prototype, p2 = p1.__proto__;
if (p2) {
p1[prefix + 'constructor'] = p2.constructor;
for (var p in p2) {
if (p1.hasOwnProperty(p) && typeof p2[p] == 'function') {
p1[prefix + p] = p2[p];
}
}
}
}
function ClassA() {}
ClassA.prototype.calc = function () {};
function ClassB() {
this.ClassA_constructor();
}
ClassB.prototype = Object.create(ClassA.prototype);
ClassB.prototype.constructor = ClassB;
ClassB.prototype.calc = function () {
this.ClassA_calc();
};
superize(ClassB, 'ClassA_');
console.log(new ClassB);