자바스크립트에서 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