자바스크립트에서 Currying을 사용하여 함수 호출에 어떤 제약 조건을 두고 싶을 때 어떻게 할 수 있나요?
예를 들어, 특정 조건을 만족하는 경우에만 함수를 실행하고 싶을 때 Currying을 사용할 수 있습니다. 아래는 Currying을 사용하여 함수 호출에 제약 조건을 두는 예제입니다.
function multiply(multiplier) {
return function(number) {
if (number > 0) {
return multiplier * number;
} else {
return "Number must be greater than 0.";
}
};
}
const triple = multiply(3);
console.log(triple(2)); // Output: 6
console.log(triple(-1)); // Output: Number must be greater than 0.
위 예제에서 multiply 함수는 첫 번째 인자로 곱하는 값을 받습니다. 이 함수를 호출하여 새로운 함수 triple을 생성했습니다. triple 함수는 두 번째 인자로 받은 숫자에 첫 번째 인자를 곱합니다. 그러나 숫자가 0보다 작은 경우에는 “Number must be greater than 0.” 메시지를 반환합니다.
따라서 위 예제에서는 triple 함수를 호출할 때 반드시 양수를 인자로 전달해야 합니다. 이러한 제약 조건을 Currying을 사용하여 함수 호출에 적용할 수 있습니다.
코드 작성에 참고할만한 읽을거리 및 자료입니다.
Link: Currying in JavaScript
#Currying #Javascript