あなたが見ているこの構文Functional programmingパラダイムで合成可能な関数を書く際に一般的な手法であるFunction curryingと呼ばれています。 CurryingやFunctional Programmingは新しいコンセプトではなく、何十年も前から存在してきましたが、Functional programmingはJavaScriptコミュニティで本当に人気を博し始めています。
基本的には、関数を呼び出す関数から関数呼び出しを呼び出すことができます。
関数を返すこの機能考えてみましょう:
1
2
:どのコンソールに出力します
foo(1)(2);
:この関数を呼び出すときに、今、あなたは今、これを行うことができます
function foo(x) {
console.log(x);
return function(y) {
console.log(y);
}
}
を
投稿した例では、clean()
関数は関数を返す必要がありますそれは2つのパラメータを受け入れ、次のように:
function clean(a) {
return function(b, c) {
console.log(a, b, c);
}
}
、それはこのように呼ばれることができるようになります:
clean('foo')('bar', 'baz');
//=> 'foo' 'bar' 'baz'
これは、超基本的な例でしたが、私はこのことができます願っています!
ユニットに電話する必要があります... JavaScriptにはショートカットがたくさんあります –