I have two classes, one Car:
var config = require('./configuration');
module.exports.Car = function(){}
module.exports.Car.prototype.set_tires = config.set_tires;
module.exports.Car.prototype.remove_tires = config.remove_tires;
module.exports.Car.prototype.drive = function(){console.log("BRUMMM BRUMMM")}
and a Motorbike:
var config = require('./configuration');
module.exports.Motorbike = function(){}
module.exports.Motorbike.prototype.set_tires = config.set_tires;
module.exports.Motorbike.prototype.remove_tires = config.remove_tires;
module.exports.Motorbike.prototype.drive = function(){ console.log("BR BR BRUUMM")}
As you see both implement methods from Configuration that looks like this:
module.exports.set_tires = function(tires){
this.tires = tires;
}
module.exports.remove_tires = function(){
console.log("The " + this.tires + " Tires will be removed");
this.tires = null;
}
I wonder if there's another nicer way to implement the methods?? In this example I gave you there are only two shared methods, but with more you can easily lose the overview. Also I would like to know if there is a nicer way to not repeat module.exports to often?
It seems like you want to merge two objects. You can do this with Object.assign if available:
Object.assign(Motorbike.prototype, config);
See How can I merge properties of two JavaScript objects dynamically? for alternative ways.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With