자바스크립트에서 Currying을 사용하여 함수를 조합하는 방법은 무엇인가요?
예를 들어, 두 개의 숫자를 더하는 함수를 currying을 사용하여 구현해보겠습니다.
function add(x) {
return function(y) {
return x + y;
}
}
const addTwo = add(2);
console.log(addTwo(3)); // 결과: 5
위의 코드에서 add
함수는 한 개의 인수 x
를 받고, 또 다른 함수를 반환합니다. 이 반환된 함수는 add
함수의 인수 x
와 더해진 값을 반환합니다.
add
함수를 호출할 때 2
를 인수로 전달하여 addTwo
함수를 생성합니다. 그리고 addTwo
함수를 호출할 때 3
을 인수로 전달하면 2 + 3
의 결과인 5
가 반환됩니다.
Currying을 사용하여 함수를 조합하면 함수의 재사용성을 높일 수 있습니다. 예를 들어, 위의 add
함수를 이용하여 다른 함수들을 만들 수 있습니다.
const addFive = add(5);
console.log(addFive(2)); // 결과: 7
const addTen = add(10);
console.log(addTen(5)); // 결과: 15
위의 예제에서 addFive
함수와 addTen
함수를 add
함수를 기반으로 만들었습니다. 이렇게 currying을 활용하면 코드의 중복을 피하고 함수를 재사용할 수 있습니다.
Currying은 자바스크립트에서 함수 조합을 강력하게 지원하는 기법 중 하나입니다. 함수형 프로그래밍에서 많이 사용되며, 코드의 가독성과 유지보수성을 높일 수 있습니다.
#Currying #자바스크립트