在Node.js中,如何动态地将函数参数传递给子函数?

时间:2017-07-20 14:19:41

标签: javascript node.js ecmascript-6

我正在运行Node 6.11.0,尝试以动态方式执行此操作:

const parentFunc = (arg1, arg2, arg3, arg4) => {
  childFunc('foo', arg1, arg2, arg3, arg4);
};

我试过这样(不起作用):

const parentFunc = () => {
  childFunc('foo', ...arguments);
};

在检查arguments对象时,我对我得到的东西感到困惑。

是否有一种干净,动态的方法来做到这一点,以便args的数量可以改变? Node.JS是否以不同于浏览器JS的方式处理arguments

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用rest parameters收集参数,然后将它们传播给孩子:

const parentFunc = (...args) => {
  childFunc('foo', ...args);
};

示例:

const childFunc = (str1, str2, str3) => `${str1} ${str2} ${str3}`;

const parentFunc = (...args) => childFunc('foo', ...args);

console.log(parentFunc('bar', 'fizz'));