需要绑定或申请部分申请

时间:2015-09-22 23:24:32

标签: javascript ecmascript-6

我正在处理functional javascript workshop的部分申请部分。

具体来说我需要:

  

使用部分应用程序创建一个修复console.log的第一个参数的函数。

使用示例输出:

\n

我天真的解决方案有效,但没有使用apply或bind:

var info = logger('INFO:');
info('this is an info message');
// INFO: this is an info message

推荐的解决方案:

function logger(namespace) {
  return (args) => console.log(namespace, args);
};

const info = logger('INFO:');
info('this is an info message');
// INFO: this is an info message

我错过了什么?为什么需要绑定或申请?

1 个答案:

答案 0 :(得分:1)

推荐的解决方案将通过所有参数(可能是在不考虑ES2015的情况下编写的)。您的解决方案只会通过第一个arg。我认为您正在寻找(...args) => console.log(namespace, ...args)