[FP&ES6+] go, pipe, curry - (3)
함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 정리한 내용입니다. ✏️ 예제 const fruits = [ { name: '사과', price: 1000, quantity: 1 }, { name: '바나나', price: 2000, quantity: 2 }, { name: '딸기', price: 1500, quantity: 3 }, { name: '레몬', price: 1000, quantity: 4 }, { name: '복숭아', price: 3000, quantity: 5 } ]; const go = (...args) => reduce((a, f) => f(a), args); const pipe = (f, ...fs) => (...as) => go(f(...as), ...fs); con..
2021. 12. 11.
[FP&ES6+] go, pipe, curry - (2)
함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 정리한 내용입니다. ✅ curry const curry = f => (a, ..._) => _.length ? f(a, ..._) : (..._) => f(a, ..._); 함수를 값으로 다루면서 받아둔 함수를 원하는 시점(= 원하는 개수의 인자가 들어왔을 때)에 평가시킨다. 함수(f)를 받아 함수 ((a, ..._) => _.length ? f(a, ..._) : (..._) => f(a, ..._))를 리턴한다. 리턴된 함수 ((a, ..._) => _.length ? f(a, ..._) : (..._) => f(a, ..._))가 실행되었을 때 인자가 2개 이상이라면 받아둔 함수를 즉시 실행한다. 인자가 2개 이상이 아니라면 함수 (.....
2021. 12. 10.