자바스크립트에서 Currying을 사용하여 함수의 실행 결과를 어떻게 표시할 수 있나요?
Currying을 구현하기 위해 다음과 같이 함수를 작성해 볼 수 있습니다.
function add(x) {
return function(y) {
return x + y;
};
}
// Currying된 함수 사용
const addFive = add(5);
console.log(addFive(3)); // 8
console.log(addFive(7)); // 12
위의 예시에서 add
함수는 인자 x
를 받고, 함수를 반환합니다. 반환된 함수는 인자 y
를 받아 x
와 y
를 더한 값을 반환합니다. 이렇게 반환된 함수를 이용하여 add
함수를 Currying하여 사용할 수 있습니다.
먼저 addFive
변수에 add(5)
를 할당하여 x
값을 5로 설정합니다. 그리고 addFive
변수를 호출하여 y
값인 3을 전달하면 5와 3을 더한 8이 출력됩니다. 마찬가지로 addFive
변수를 호출하여 y
값인 7을 전달하면 5와 7을 더한 12가 출력됩니다.
이처럼 Currying을 사용하면 함수를 더욱 유연하게 활용할 수 있으며, 일부 인자를 미리 설정하여 코드의 중복을 줄일 수 있습니다. 또한, 이러한 패턴은 함수형 프로그래밍에서 자주 사용되며, 코드의 가독성을 향상시키는데 도움을 줄 수 있습니다.
#Currying #자바스크립트