자바스크립트에서 Currying을 사용하여 함수의 파라미터를 어떻게 변환할 수 있나요?

먼저, Currying을 구현하기 위해 함수를 반환하는 함수를 작성해야 합니다. 예를 들어, 아래와 같이 add 함수를 Currying하는 curryAdd 함수를 작성할 수 있습니다.

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

위의 코드에서 curryAdd 함수는 x를 받아 y를 반환하는 익명 함수를 반환합니다. 이렇게 반환된 함수를 호출할 때, 첫 번째 인수로 전달된 x는 유지되며, 두 번째 인수로 전달된 y가 더해져 결과를 반환합니다.

아래는 curryAdd 함수를 사용하여 값을 더하는 예시입니다.

const addTwo = curryAdd(2);
console.log(addTwo(3)); // 5

위의 예시에서 addTwo 변수에 curryAdd(2)를 할당하면, 반환된 함수에서 x가 2로 고정됩니다. 이후 addTwo 함수를 호출할 때 매번 y 값을 전달하여 결과를 얻을 수 있습니다.

Currying은 함수의 파라미터를 변환하고 필요에 따라 미리 값을 고정할 수 있는 강력한 기술입니다. 이를 사용하면 함수를 더욱 유연하게 구성하고 재사용할 수 있습니다. Currying을 사용하여 자바스크립트에서 함수의 파라미터를 변환해 보세요!