首页 > 解决方案 > 我可以在 node.js 的 module.export 中重载方法吗?

问题描述

我有一个带有以下代码的 app.js:

var addnote = (title,body) => { /* enter code here */ }
module.exports = {addnote};

我可以addnotes向该文件添加另一个具有不同参数的函数吗?

标签: node.js

解决方案


JavaScript 中的函数重载不像 C# 和 Java 等其他编程语言那样存在。

您应该做的是将对象作为附加属性的参数传递并在那里过滤它们..

你可以从你的小“映射函数”中调用不同的函数,如果它不大的话,只需在那里实现逻辑(以保持代码清晰)。

function foo(parameters){

   var title = parameters.title;
   var body = parameters.body;

   if(parameters.extraProperty){
      // oh we have extraProperty passed in too, run a different function?
      bar(title, body, parameters.extraProperty); // ??
   }
}

foo({title: 'Title', body: 'Body', extraProperty: 'This is extra...'});

推荐阅读