私はcurry
この方法で関数を実装しました:
function curry (fn) {
var slice = Array.prototype.slice,
args = slice.apply(arguments, [1]);
return function () {
fn.apply(null, args.concat(slice.apply(arguments)));
};
}
上記の関数を使用して次のことを行うと
function add (x, y) {
return x + y;
}
var inc = curry(add, 1);
console.log(inc(10));
ログに記録しundefined
ます。期待される出力は 11 ではありませんか? コードの何が問題になっていますか?
注:関数 logsconsole.log(x, y)
内で使用します。戻る理由がわかりません。add
1 10
undefined