function add_maker(a){

  return function(b){

    return a + b;

  }

}


const add5 = add_maker(5);

console.log(add5(1)); // 출력값 6


-----------------------------------------------------


function curryr(func) {

  return function (a, b) {

    return arguments.length === 2 ? func(a, b) : function (b) { return func(b, a) };

  }

}


const sub = curryr((a, b) => a - b);

const sub3 = sub(3);

console.log(sub(2, 3)); // -1


지금 함수형 프로그래밍 설명 다 하나씩 보고있는데 하나같이 뭔소리하는지 모르겠음


함수를 순수히 조합하고...값을 변경하지 않고...


다 똑같이 말하는데 개념 이해가 힘들다


저 위에 코드가 왜 가능한거임?


이해가 안가...