커링(Currying)
Currying
- 커링(Currying)은 함수에 여러 개의 파라미터를 받는 대신, 한 개의 파라미터만 받는 함수의 연속으로 변환하는 프로그래밍 기법입니다. 이 기법은 함수를 더 유연하고 재사용 가능하게 만들어줍니다.
사용 이유
- 코드의 재사용성 향상
- 코드의 가독성 향상
커링의 단점
- 커링된 함수는 파라미터가 추가될 때 마다 새로운 함수를 생성하여 미세한 메모리 사용량 증가를 겪을 수 있다.
- 한번에 하나의 파라미터만 처리가 가능하기에 다중 파라미터를 한번에 처리해야 하는 상황에서는 사용이 어렵다.
출력 예제
function add(x) {
return function(y) {
return x + y;
};
}
const add5 = add(5); // 첫 번째 파라미터인 5를 받는 함수 생성
console.log(add5(3)); // 출력: 8
console.log(add5(7)); // 출력: 12