자바스크립트에서 Currying을 사용하여 함수의 결과를 어떻게 정리할 수 있나요?
다음은 JavaScript에서 Currying을 사용하여 함수의 결과를 정리하는 예시입니다:
function multiply(x) {
return function(y) {
return function(z) {
return x * y * z;
};
};
}
const result = multiply(2)(3)(4);
console.log(result); // 출력: 24
위의 예시에서 multiply
함수는 한 개의 인수 x
를 받아들여 함수를 반환합니다. 반환된 함수는 다시 한 개의 인수 y
를 받아들여 더 깊은 수준의 함수를 반환합니다. 마찬가지로 이 함수는 한 개의 인수 z
를 받아들여 최종적으로 x
, y
, z
를 곱한 결과를 반환합니다.
이렇게 함수를 중첩하는 것은 여러 개의 인수를 필요로 하는 함수를 하나씩 호출해야 하는 번거로움을 피할 수 있습니다. 대신, 세 개의 인수를 한 번에 지정하여 호출하면서 코드를 보다 명확하고 간결하게 만들 수 있습니다.
Currying은 함수형 프로그래밍에서 유용하게 사용되는 개념이며, 함수를 조합하고 재사용할 수 있는 유연한 코드를 작성할 수 있도록 도와줍니다.
#javascript #currying