Currying을 사용하여 자바스크립트에서 함수의 인자를 어떻게 전달할 수 있나요?
자바스크립트에서 Currying은 함수를 여러 개의 인자가 있는 함수로 분해하는 기술입니다. 이를 통해 함수의 인자를 그룹으로 전달하거나 일부만 전달할 수 있습니다. Currying은 함수형 프로그래밍에서 매우 유용하며, 코드의 재사용성과 가독성을 높여줍니다.
예를 들어, 다음과 같이 multiply
함수를 Currying을 사용하여 변환할 수 있습니다.
function multiply(a) {
return function(b) {
return a * b;
}
}
위의 코드에서 multiply
함수는 첫 번째 인자 a
를 받는 함수를 반환합니다. 이 반환된 함수는 두 번째 인자 b
를 받아 a * b
의 결과를 반환합니다.
이제 Currying된 multiply
함수를 사용하여 인자를 전달할 수 있습니다.
const multiplyBy5 = multiply(5);
console.log(multiplyBy5(2)); // 결과: 10
위의 예시에서 multiplyBy5
함수는 multiply
함수에 첫 번째 인자로 5
를 전달하여 반환된 함수입니다. 그리고 나서 multiplyBy5
함수에 2
를 인자로 전달하여 5 * 2
의 결과인 10
을 얻을 수 있습니다.
이러한 방식으로 Currying을 활용하면 함수를 보다 유연하게 사용할 수 있으며, 코드의 가독성과 재사용성을 향상시킬 수 있습니다.
#javascript #currying