자바스크립트에서 Currying이란 무엇인가요?

Currying의 장점 중 하나는 코드의 재사용성과 가독성을 향상시킨다는 것입니다. 예를 들어, 다음과 같은 함수를 고려해보십시오.

function add(a, b, c) {
  return a + b + c;
}

이 함수를 Currying을 사용하여 변경하면 다음과 같이 됩니다.

function add(a) {
  return function(b) {
    return function(c) {
      return a + b + c;
    }
  }
}

이제 이 함수를 사용할 때, 한 번에 한 개의 인수를 전달하여 실행할 수 있습니다. 예를 들어:

const partiallyApplied = add(1); // a = 1
const fullyApplied = partiallyApplied(2)(3); // b = 2, c = 3

console.log(fullyApplied); // 출력: 6

Currying을 사용하면 함수의 다양한 조합을 생성할 수 있으며, 고차 함수와 함께 사용하면 더욱 효율적인 코드를 작성할 수 있습니다.

#Currying #자바스크립트