JS에서 커링하기 🤠

자바스크립트로 요리? 뭐? 🤷‍♂️




Currying은 함수가 여러 매개변수를 입력으로 사용하고 정확히 하나의 매개변수가 있는 함수를 반환하는 기술입니다.

커링은 불변 데이터와 순수(부작용 없음) 함수를 사용하여 프로그램 상태(부작용이라고 함)에 대한 변경 횟수를 최소화하려는 프로그래밍 패턴인 함수형 프로그래밍의 기본 도구입니다.


이제 본론으로 들어가겠습니다. 이 코드 예제를 확인하십시오.



const isDivisible = (divider, number) => !(number % divider);
const divider = 2;

console.log(isDivisible(divider, 40)); // true
console.log(isDivisible(divider, 33)); // false


이전 코드에서 isDivisible는 하나의 숫자가 다른 숫자로 나누어지는지 여부를 확인하여 참 또는 거짓을 반환하는 함수 표현식입니다.


세 번의 호출isDivisible에서 내 의도가 동일한 제수를 사용하는 것이라면, 숫자가 2로 나누어 떨어지는지 알고 싶을 때마다 제수를 매개변수로 전달해야 하는 것이 지루하고 지루하지 않습니까?
isDivisible 함수를 변경하고 제수를 고정 값으로 만들기만 하면 됩니다.
그러나 재사용 불가능하고 완전히 캐스트된 기능에 영향을 미치는 거대한 결합이 있을 것입니다.

이제 우리 게임 스타가 개입할 때입니다.



커링 🤓




const isDivisible = divider => number => !(number % divider);

console.log(isDivisible(2)(40)); // true
console.log(isDivisible(2)(33)); // false
console.log(isDivisible(3)(40)); // false
console.log(isDivisible(3)(33)); // true



따라서 이제 우리는 숫자 2에 의존할 뿐만 아니라 숫자가 나눌 수 있는지 여부를 알고 싶은 모든 상황에서 사용할 수 있는 분리되고 유연한 기능을 가지고 있습니다 🧐

🍻

좋은 웹페이지 즐겨찾기