Functional JavaScriptを読み始めたところ、すぐに理解できない関数が紹介されました。
function splat(fun) {
return function(array) {
return fun.apply(null, array);
};
}
var addArrayElements = splat(function(x, y) { return x + y });
addArrayElements([1, 2]);
//=> 3
どのように機能しますかsplat(function(x, y) { return x + y })
。array[1,2]
で呼び出されますが、 への呼び出し内の無名関数はsplat
、1 つの配列ではなく 2 つのパラメーターを取るようです。
console.log(fun)
このコードの 2 行目に置くと、それfun
が anonymous の全体であることがわかりfunction(x, y) { return x + y }
ます。console.log(array)
afterreturn function(array) {
は、配列が であることを示してい[1, 2]
ます。じゃあどこarray
から来るの?
どうもありがとう。