Currying을 사용하여 자바스크립트에서 함수의 인자를 어떻게 피연산자로 사용할 수 있나요?

자바스크립트에서 Currying은 함수를 인자를 분리하여 여러 단계로 나누는 기술입니다. 이를 통해 함수의 일부 인자를 미리 지정할 수 있으며, 후에 나머지 인자를 전달하여 실행할 수 있습니다. 이렇게 하면 함수를 피연산자로 사용하여 보다 유연하고 재사용 가능한 코드를 작성할 수 있습니다.

Currying을 사용하여 함수의 인자를 피연산자로 사용하려면 다음과 같은 방법을 사용할 수 있습니다.

1. 함수를 Currying하는 방법

함수를 Currying하려면 일부 인자를 미리 지정한 새로운 함수를 반환하는 함수를 작성해야 합니다. 이를 위해 다음과 같은 예제 코드를 살펴봅시다.

function add(x) {
  return function(y) {
    return x + y;
  }
}

const addFive = add(5); // 첫 번째 인자를 미리 지정한 add 함수의 새로운 인스턴스 생성

console.log(addFive(10)); // 출력 결과: 15
console.log(addFive(20)); // 출력 결과: 25

위의 코드에서 add 함수는 첫 번째 인자 x를 받고, 두 번째 인자 y와 함께 덧셈을 수행하는 함수를 반환합니다. addFive라는 새로운 함수는 add 함수의 새로운 인스턴스로, 첫 번째 인자 x가 5로 고정되어 생성됩니다. 그 후에 이 새로운 함수에 두 번째 인자 y를 전달하여 덧셈을 수행할 수 있습니다.

2. Currying된 함수 실행

Currying된 함수를 실행할 때는 나머지 인자를 전달하여 실행할 수 있습니다. 위의 코드에서 addFive 함수는 이미 첫 번째 인자 x가 5로 지정되어 있으므로, 두 번째 인자 y만 전달하면 됩니다.

console.log(addFive(10)); // 출력 결과: 15
console.log(addFive(20)); // 출력 결과: 25

위의 코드에서 addFive 함수는 Currying된 함수로서 첫 번째 인자 x가 5로 고정되어 있으므로, 각각 addFive(10)addFive(20)을 호출할 때는 두 번째 인자 y만 전달하여 실행합니다.

Currying을 사용하면 함수의 인자를 분리하여 다양한 방법으로 활용할 수 있습니다. 미리 지정된 인자를 가지는 새로운 함수를 생성하고, 나중에 나머지 인자를 전달하여 실행하는 방식으로 함수의 재사용성을 높일 수 있습니다. 이를 통해 보다 유연하고 효율적인 코드를 작성할 수 있습니다.

#javascript #currying