添加方法 class Node.js
Add methods to class Node.js
我有两辆类,一辆车:
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);
请参阅 How can I merge properties of two JavaScript objects dynamically? 了解其他方法。
我有两辆类,一辆车:
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);
请参阅 How can I merge properties of two JavaScript objects dynamically? 了解其他方法。