Currying을 사용하여 자바스크립트에서 부분 함수를 어떻게 만들 수 있나요?

커링을 사용하여 부분 함수를 만들기 위해서는 아래와 같은 방법을 따릅니다:

function add(a) {
  return function(b) {
    return a + b;
  };
}

// 부분 함수 생성
const add5 = add(5);

// 부분 함수 호출
console.log(add5(10)); // 15

위의 예시에서 add 함수는 하나의 인자 a를 받아들이고, 내부에서 또 다른 함수를 정의하여 b를 받아들이고 ab를 더한 값을 반환합니다. 따라서 add 함수를 호출하면 이중 중첩된 함수가 반환되는데, 이 함수를 add5라는 변수에 할당하여 부분 함수를 생성합니다. 이후 add5를 호출하면 add 함수에 전달한 a 값인 5에 인자 b를 더한 결과를 반환하게 됩니다.

이렇게 커링을 사용하여 부분 함수를 만들면, 미리 정의한 인자값을 재사용하여 간단하게 함수를 호출할 수 있습니다. 이는 함수의 재사용성을 높이고, 코드의 가독성과 유지보수성을 향상시킬 수 있는 장점을 갖습니다.

#자바스크립트 #커링