カードリング


関数プログラミングは、複数の引数を持つ関数を一連のネスト関数に変換します.
形はカレーです.
すべてのパラメータが使用済みになるまで、新しい関数が返され続け、パラメータは最終的にcloser関数に返されます.
curingの特徴をコードでより詳細に理解しましょう.
カードリング
1-1
function multifunc(a, b, c) { 
    return a * b * c; 
}

multifunc(1, 2, 3) // 6
multifunc関数は、3つの因子によって返された結果を乗算します.
関数呼び出し時には、伝達パラメータが各位置に指定され、出力6が出力される.
1-2

function multifunc(a) { 
    return (b) => { 
        return (c) => { 
            return a * b * c 
        } 
    } 
}
multifunc (1) (2) (3) // 6
今回は複数の関数を分けてCloser関数として変更してみました.
1−1と同じであるが,1つの機能が一連の機能となり,これは3つの数の積結果を得るためである.
1,2,3はいずれも1つのプロセスを経て出力される.
1−1では,状況に応じて伝達因子を変更する必要があり,これは面倒である.
1-2の場合は再利用可能で、パラメータを複数回使用できます.
これはカレーです.
なぜcuringの再利用性が良いのかをコードで説明します.

function multifunc(x) {
  return function(y) {
    return function(z){
      return x * y * z;
    }
  }
}

let multifunc5 = multifunc(5);   // 5 고정 x
let multifunc5Add9 = multifunc5(9);  // 5와 9 고정 y
let multifunc5Add3 = multifunc5(3);  // 5와 3 고정 y

multifunc5Add9(7);	   // 5(x) * 9(y) * 7(z)
multifunc5Add9(8);	   // 5(x) * 9(y) * 8(z)
multifunc5Add3(1);    // 5(x) * 3(y) * 1(z)
multifunc5Add9関数が5 9 7を返しても、再び呼び出されると5 9 1とは異なる値が返されます.
したがって,z変数のみを変更し,残りのx,y変数は複数回宣言する.
再利用可能です.
簡単に言えば、カードリングについての全面的な紹介です.
カーブには複数のパラメータの関数があります
ツールに単一パラメータの関数を置き換える特殊な機能を備えています.
最終的に,単一パラメータの関数として相互連鎖反応を通過する過程
Closer関数の特徴も見られます.
既存の関数の再使用性と可読性を向上させることで、より効率的になります.
適切に運用すれば、高いレベルのコードが作成されます.