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

Currying을 사용하여 함수의 실행 결과를 변환하는 예제 코드입니다.

// Currying을 사용하여 두 숫자를 더하는 함수 구현
function add(a) {
  return function(b) {
    return a + b;
  };
}

// 2를 인자로 전달하여 새로운 함수 생성
const addTwo = add(2);

// 생성된 함수에 3을 인자로 전달하여 실행 결과 도출
const result = addTwo(3);
console.log(result); // 5

위 코드에서 add 함수는 첫 번째 인자 a를 받고, 새로운 함수를 반환합니다. 반환된 함수는 두 번째 인자 b를 받아 a + b를 실행한 뒤 결과를 반환합니다.

add(2)를 호출하여 새로운 함수 addTwo를 생성한 후, addTwo(3)을 호출하여 2 + 3의 결과인 5를 얻을 수 있습니다.

Currying을 사용하여 함수의 실행 결과를 변환하는 것은 매우 간단하고 유용한 기술입니다. 이를 통해 함수를 더욱 다양하게 조합하고 재사용할 수 있습니다.