F-Lab
🚀
상위권 IT회사 합격 이력서 무료로 모아보기

자바스크립트에서 커링(Currying) 함수의 이해와 활용

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

AI가 제공하는 얕고 넓은 지식을 위한 짤막한 글입니다!



함수형 프로그래밍의 핵심, 커링(Currying)

커링은 함수형 프로그래밍에서 중요한 개념 중 하나입니다. 커링은 다수의 인자를 받는 함수를 하나의 인자만 받는 함수로 변환하는 과정을 말합니다. 이를 통해 코드의 재사용성을 높이고, 더 가독성 있는 코드를 작성할 수 있습니다.

커링은 함수의 부분 적용을 가능하게 하여, 함수에 필요한 인자 중 일부만 전달하고 나머지를 나중에 전달할 수 있게 합니다. 이는 코드의 유연성을 높이는 데 큰 도움이 됩니다.



커링 함수의 기본 구조

커링 함수는 다음과 같은 기본 구조를 가집니다.

function curry(fn) {
    return function(a) {
        return function(b) {
            return fn(a, b);
        };
    };
}
const add = (a, b) => a + b;
const curriedAdd = curry(add);
console.log(curriedAdd(1)(2)); // 출력: 3
위 예제에서 curry 함수는 add 함수를 커링하여, 두 개의 인자를 차례로 받을 수 있게 합니다.



커링의 활용 예시

커링은 매우 다양한 상황에서 활용될 수 있습니다. 예를 들어, HTML 태그를 생성하는 함수를 커링을 이용해 구현할 수 있습니다.

function tag(name) {
    return function(content) {
        return `<${name}>${content}`;
    };
}
const h1 = tag('h1');
console.log(h1('Hello, world!')); // 출력: 

Hello, world!

이처럼 커링을 활용하면 함수의 재사용성을 높이고, 코드의 가독성을 개선할 수 있습니다.



커링의 장점과 주의점

커링은 코드의 재사용성과 가독성을 높여주는 장점이 있습니다. 또한, 함수의 부분 적용을 통해 유연한 코드 작성이 가능합니다. 하지만, 커링을 사용할 때는 함수 호출의 복잡성이 증가할 수 있으므로, 적절한 상황에서 사용하는 것이 중요합니다.

커링을 사용할 때는 함수의 호출 방식이 변경되므로, 이에 대한 이해가 필요합니다. 또한, 커링된 함수의 인자 관리에 주의해야 합니다.



결론

커링은 자바스크립트에서 함수형 프로그래밍을 구현하는 데 있어 중요한 개념입니다. 커링을 통해 함수의 재사용성과 가독성을 높일 수 있으며, 코드의 유연성을 개선할 수 있습니다.

적절한 상황에서 커링을 활용한다면, 보다 효율적이고 유지보수가 용이한 코드를 작성할 수 있을 것입니다. 커링의 개념과 활용 방법을 이해하고, 실제 프로젝트에 적용해보는 것이 좋습니다.

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수
F-Lab
소개채용멘토 지원
facebook
linkedIn
youtube
instagram
logo
(주)에프랩앤컴퍼니 | 사업자등록번호 : 534-85-01979 | 대표자명 : 박중수 | 전화번호 : 1600-8776 | 제휴 문의 : info@f-lab.kr | 주소 : 서울특별시 강남구 테헤란로63길 12, 438호 | copyright © F-Lab & Company 2025