자바스크립트에서 Currying을 사용하여 함수의 실행을 어떻게 조건부로 수행할 수 있나요?

다음은 Currying을 사용하여 함수 실행을 조건부로 수행하는 간단한 예시입니다. 함수 add는 두 개의 숫자를 더하는 함수입니다.

function add(x) {
  return function(y) {
    return x + y;
  };
}

const addOne = add(1); // 첫 번째 인자가 1인 새로운 함수 생성
const addTwo = add(2); // 첫 번째 인자가 2인 새로운 함수 생성

console.log(addOne(5)); // 출력: 6
console.log(addTwo(5)); // 출력: 7

위의 예시에서 add 함수를 호출할 때 첫 번째 인자를 전달하고 반환되는 함수를 호출하면 두 번째 인자가 전달되어 실행 결과를 얻을 수 있습니다. addOne 함수는 1을 첫 번째 인자로 전달하여 생성되었으므로 첫 번째 인자가 1이고 두 번째 인자가 5인 경우 1 + 5인 6이 반환됩니다. addTwo 함수 역시 비슷한 방식으로 동작하며 첫 번째 인자가 2인 함수를 생성하므로 두 번째 인자가 5인 경우 2 + 5인 7이 반환됩니다.

이렇게 Currying을 사용하여 함수 실행을 조건부로 수행할 수 있습니다. Currying을 적절히 활용하면 함수의 재사용성과 유연성을 높일 수 있습니다. #Currying #자바스크립트