자바스크립트에서 Currying을 사용하여 함수의 실행 결과를 어떻게 변환할 수 있나요?

다음은 자바스크립트에서 Currying을 사용하여 함수의 실행 결과를 변환하는 예시입니다.

// 원본 함수
function multiply(a, b) {
  return a * b;
}

// Currying 함수
function curryMultiply(a) {
  return function(b) {
    return multiply(a, b);
  };
}

// 커리 함수를 사용하여 실행 결과 변환
const multiplyByFive = curryMultiply(5);
const result = multiplyByFive(10); // 5 * 10 = 50

console.log(result); // 50

위 예시에서 multiplyByFive 함수는 curryMultiply(5)를 호출하여 생성됩니다. 이 함수는 내부에서 multiply 함수를 호출하고 결과를 반환합니다. multiplyByFive 함수를 호출할 때 필요한 두 번째 인수를 전달하면, multiply 함수의 실행 결과를 반환합니다.

Currying을 사용하면 함수의 실행 결과를 변환하기 위해 일부 인수를 미리 지정해놓고, 필요한 나머지 인수는 나중에 전달하여 함수를 실행할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 유연한 함수 구성을 할 수 있습니다.

#Currying #자바스크립트