자바스크립트에서 Currying을 사용하여 함수의 파라미터를 어떻게 필터링할 수 있나요?
Currying을 사용하여 함수의 파라미터를 필터링하는 과정을 예제를 통해 살펴보겠습니다.
// Currying을 사용하여 숫자를 필터링하는 함수
const filterNumbers = (min, max) => {
return (value) => {
if (value >= min && value <= max) {
console.log(`${value}은 ${min}부터 ${max} 사이 입니다.`);
} else {
console.log(`${value}은 ${min}부터 ${max} 사이가 아닙니다.`);
}
};
};
// 함수의 일부 파라미터를 부분 적용하여 새로운 함수 생성
const filterNumbersBetween = filterNumbers(0, 10);
// 새로운 함수를 사용하여 파라미터를 필터링
filterNumbersBetween(5); // 출력: 5은 0부터 10 사이 입니다.
filterNumbersBetween(15); // 출력: 15은 0부터 10 사이가 아닙니다.
위의 예제에서 filterNumbers
함수는 min
과 max
두 개의 파라미터를 받습니다. filterNumbersBetween
함수는 filterNumbers
함수를 호출하면서 일부 파라미터값을 부분 적용하여 생성됩니다. 이제 filterNumbersBetween
함수를 사용하여 숫자를 필터링할 수 있습니다.
Currying을 이용하면 함수의 파라미터를 필터링하지 않고도 filterNumbersBetween
함수를 다른 곳에서 재사용할 수 있습니다. 이러한 유연성은 코드를 간결하고 재사용 가능하게 만들어주며, 함수의 파라미터를 동적으로 제어할 수 있는 장점이 있습니다.
#javascript #currying