자바스크립트에서 Currying을 사용하여 함수의 인자를 어떻게 필수로 지정할 수 있나요?
Currying을 사용하여 함수의 인자를 필수로 지정하는 예시를 살펴보겠습니다.
function multiply(a) {
return function(b) {
return a * b;
};
}
const double = multiply(2); // 첫 번째 인자인 a를 2로 지정한 함수 생성
const result = double(5); // 두 번째 인자인 b를 5로 지정한 결과 값
console.log(result); // 10 출력
위의 코드에서 multiply 함수는 Currying을 사용하여 작성되었습니다. multiply 함수는 첫 번째 인자 a
를 받고, 그 값을 이용하여 두 번째 인자 b
를 받아서 곱한 값을 반환하는 작은 함수를 리턴합니다.
위의 코드에서 multiply(2)
를 호출하여 double 함수를 생성하고, 이후에 double(5)
를 호출하여 계산 결과를 얻어냅니다. 따라서 위의 코드는 2 * 5
를 계산하여 결과 값인 10을 출력합니다.
Currying을 사용하면 함수의 일부 인자를 미리 지정하여 새로운 함수를 생성할 수 있습니다. 이를 통해 함수를 재사용하고 코드를 간결하게 작성할 수 있습니다.