[javascript] Underscore.js를 사용하여 함수를 커링하는 방법은 어떻게 되나요?

Underscore.js는 JavaScript 프레임워크로, 다양한 유용한 기능을 제공합니다. 함수 커링이란, 하나의 인자를 받는 함수를 인자를 여러 개 받을 수 있는 함수로 바꾸는 것을 말합니다. 이는 함수의 재사용성을 높이고 코드를 더 간결하고 읽기 쉽게 만들어줍니다.

Underscore.js에서 함수 커링을 적용하기 위해 _.curry 함수를 사용할 수 있습니다. _.curry 함수는 커링을 수행할 함수를 인자로 받아 새로운 커링된 함수를 반환해줍니다.

// 커링을 적용할 함수
function add(a, b, c) {
  return a + b + c;
}

// 커링된 함수 생성
var curriedAdd = _.curry(add);

// 인자 하나로 함수 호출
var addOne = curriedAdd(1);

// 두 번째 인자를 추가하고 함수 호출
var addTwo = addOne(2);

// 세 번째 인자를 추가하고 최종 결과 반환
var result = addTwo(3);
console.log(result); // 6

위의 예제에서는 add 함수를 커링하여 변수 curriedAdd에 저장합니다. 그리고 curriedAdd 함수를 사용하여 원하는 인자를 하나씩 받으면서 실행할 수 있습니다. 각 호출에서 추가되는 인자는 이전 호출에서 생성된 새로운 함수에 반영되어 최종 결과를 반환합니다.

Underscore.js의 _.curry 함수를 사용하면 커링을 쉽게 적용할 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

참고 자료: