JavaScript의 카레 함수
3959 단어 webdevbeginnersjavascript
다음 게시물인 에서 기본 카레 함수의 예를 볼 수 있습니다. 후속 게시물에서는 기존 함수를 커링하는 고급 기술을 점진적으로 다룰 것입니다.
그 전에 먼저 몇 가지 기본 용어를 살펴보겠습니다.
아리티
함수의 개수는 함수가 호출 시 기대하는 인수의 수입니다.
단항 함수
단항 함수는 하나의 인수만 취하는 함수입니다. 즉, 인수 수는 1입니다. 함수가 단항일 수 있는 Haskell에서는 매우 일반적입니다.
카레 함수
커리 함수의 가장 간단한 형태는 다른 단항 함수를 반환하는 단항 함수입니다. 반환된 함수는 다른 단항 함수를 반환할 수도 있습니다. 중첩된 단항 함수 반환은 다중 인수 함수의 결과를 얻기 위해 순서대로 계속됩니다. 이렇게 하면 한 번에 하나의 인수로 함수를 순차적으로 호출할 수 있습니다.
// Regular multi-argument function
const createMessage = (greeting, name, message) => {
return `${greeting}, ${name}! ${message}`);
};
// A curried function helping achieve the same thing
const createMessage = greeting => name => message => `${greeting}, ${name}! ${message}`);
// So now we can do this:
createMessage('Hello')('World')('Whadup?');
Haskell에서 이것은 여러 인수를 효과적으로 받아들이지만 한 번에 하나씩 함수를 전달하는 데 사용되는 기술입니다. "카레"라는 단어는 Haskell Curry에서 유래되었습니다.
고차 함수
Curried 함수는 Higher Order Functions 또는 HOF이기도 합니다. 이는 항상 다른 함수를 반환하고 일반적으로 curried 함수를 사용하기 때문입니다.
Variadic Curried 함수
가변 커리 함수는 호출당 다양한 수의 인수를 사용할 수 있는 보다 정교한 커리 함수입니다. 반환된 각 함수는 단일 인수 또는 둘 이상의 인수를 사용할 수 있습니다. 기본적으로 다음과 같이 할 수도 있습니다.
createMessage('Hello', 'World')('Whadup?');
// or
createMessage('Hello')('World', 'Whadup?');
Reference
이 문제에 관하여(JavaScript의 카레 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anewman15/curry-functions-in-javascript-4jpa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)