将方法添加到类Node.js
我有两个class,一个车 :
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")}
和摩托车 :
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")}
正如你所看到的两个实现方法从configuration看起来像这样:
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; }
我想知道是否有另一个更好的方法来实现的方法? 在这个例子中,我给了你只有两个共享的方法,但更多的你可以很容易地失去了概述。 另外我想知道是否有一个更好的方式不经常重复module.exports
?
好像你想要合并两个对象。 如果可以的话,你可以用Object.assign
来做到这一点:
Object.assign(Motorbike.prototype, config);
请参阅如何dynamic合并两个JavaScript对象的属性? 为替代方式。