カレーは何ですか.


カードリングは何ですか?



簡単に言えば、別の関数を返すように定義するだけです.
各ステップでパラメータを1つ持つ関数を作成し、関数のパラメータを1つずつ適用します.
たとえば、
次の関数があります.
function multiply(a, b){
  return a*b;
}

2의 배수 값을 만드는 함수를 만드려고 한다.

function multiplyTwo(a){
  return mutiply(a,2)
} // 인자를 2개를 같이 쓴다.
カードリングをした場合は以下のようになります.
function multiply(a, b){
  return a*b;
}

function multiplyX(x) {
 return function (a) {
   return multiply(a, x);
 }
}
이러면 인자를 하나만 쓸수 있다 !!

const multiplyTwo = multiplyX(2);
const multiplyThree = multiplyX(3);
この場合、カードリングを用いて特定のパラメータを再利用することができる.
ES 6と最新バージョンのJavascriptの矢印関数構文を使用すると、Curryed関数を簡単に作成できます.
let greeting = (a) => (b) => a + ' ' + b

greeting('Hello There')('General Kenobi')
//returns Hello There General Kenobi
ソース:
(1) https://www.digitalocean.com/community/tutorials/an-introduction-to-closures-and-currying-in-javascript