자바스크립트에서 Currying을 사용하여 다른 함수를 호출하는 방법은 무엇인가요?
커리 함수를 작성하는 간단한 예제를 살펴보겠습니다. 우선 다음과 같은 add 함수가 있다고 가정해봅시다.
function add(a, b) {
return a + b;
}
이제 커링을 사용하여 다른 함수를 호출하는 함수를 작성해보겠습니다.
function curryAdd(a) {
return function(b) {
return add(a, b);
}
}
위 코드에서 curryAdd 함수는 add 함수를 부분적으로 적용한 새로운 함수를 반환합니다. 예를 들어, curryAdd(2)
를 호출하면 두 개의 인자 중 첫 번째인 a가 2로 고정된 상태가 됩니다. 이제 반환된 함수에 두 번째 인자를 전달하여 호출하면, 고정된 a와 전달된 b를 더한 결과를 반환합니다.
const addTwo = curryAdd(2);
console.log(addTwo(3)); // 5
위 예제에서 curryAdd(2)
를 호출하여 add 함수의 첫 번째 인자를 2로 고정시킨 후, 반환된 함수에 3을 전달하여 호출하면 2와 3을 더한 결과인 5가 출력됩니다.
커리 함수를 사용하면 원하는 만큼 인자를 부분적으로 적용하여 다양한 함수를 생성할 수 있습니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.
#자바스크립트 #커리 #Currying