커링(Currying)
- 커링이란 다중 인수를 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것.
커링의 활용
// logNow는 log의 첫 번째 인수가 고정된 partial
const logNow = log(new Date());
logNow("INFO", "message"); // [HH:mm] INFO message
const debugNow = logNow("DEBUG");
debugNow("message"); // [HH:mm] DEBUG message
- partial 함수를 쉽게 작성하여, 고정 값들은 고정시켜서 값만 도출되게 한다.
- 커링은 각 인자를 전달하는 과정을 작은 함수로 분리할 수 있다.
- 즉 다양한 함수들을 조합할 수 있다.