반응형
Currying은 함수형 프로그래밍에서 기초개념이다.
Currying은 다음과 같이 정의되고 있다.
다중 인수를 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다.
간단하게 말해서 함수를 리턴하는 함수라고 생각하면 편할 듯 하다.
f(a, b, c)의 인자가 3개인 함수를 f(a)(b)(c)와 같이 사용할 수 있다.
const curry = (fn) => (a) => (b) =>fn(a,b);
const add = (a, b) =>a + b;
console.log(curry(add)("Hello")("Wolrd"));
// result: HelloWorld
Currying은 뒷 부분의 파라미터를 나중에 실행할 수 있다.
f(a)(b)를 실행 후 (c)는 나중에 실행 가능하다.
const HelloFn = curry(add)("헬로");
console.log(HelloFn("월드"));
// result: 헬로월드
참고: 커링 - 위키피디아
반응형
'Programming > Javascript' 카테고리의 다른 글
Javascript에서 SOLID 법칙 적용하기 (0) | 2023.02.12 |
---|---|
Javascript 일급 객체(First-class object) (0) | 2023.01.24 |
Javascript 배열(1차원/2차원) 초기화 하기 (0) | 2022.12.17 |
Javascript 정규 표현식 (Regular Expression) 예시 (0) | 2022.12.16 |
Javascript 정규 표현식 (Regular Expression) (0) | 2022.12.16 |