카레

Currying은 여러 인수를 취하는 함수를 각각 하나의 인수만 취하는 일련의 함수로 만드는 기술입니다. f(a, b, c, n)로 호출할 수 있는 함수를 f(a)(b)(c)(n)으로 호출할 수 있는 함수로 변환합니다.

두 개의 인수를 취하는 함수의 예부터 시작하겠습니다.

const multiply = (a, b) => {
    return a * b;
}

console.log(multiply(4, 3)); // 12

이것을 각각 하나의 인수(커리)만 취하는 일련의 함수로 변환할 것입니다.

const multiply = (a) => {
    return (b) => {
        return a * b;
    }
}

console.log(multiply(4)(3)); // 12

속기 사용:

const multiply = a => b => a * b;
console.log(multiply(4)(3)); // 12

외부 함수는 a를 입력하고 b를 입력하는 함수를 반환하여 결국 및 b의 곱을 반환합니다.

카레는 일반적으로 부분 적용과 관련이 있습니다. 아이디어는 두 개 이상의 인수로 함수를 만드는 것이며 우리는 이러한 인수 중 일부의 값만 알고 있습니다. 부분 적용(커링)을 사용하여 알고 있는 값을 제공하고 그 대가로 (현재) 미지수와 함께 작동하는 함수를 얻을 수 있습니다. 나머지 인수가 알려지면 반환된 함수를 실행할 수 있습니다.

나는 솔직히 말해서 실제 응용 프로그램에서 카레를 그렇게 많이 사용하지 않았습니다. 우리가 커링으로 하려고 하는 것을 달성하는 다른 방법이 있습니다(클래스, 콜백 함수 및 고차 함수). 아는 것이 좋습니다.

좋은 웹페이지 즐겨찾기