상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 currying이란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Currying은 함수형 프로그래밍에서 중요한 개념으로, 다수의 인자를 받는 함수를 단일 인자를 받는 함수들의 연속으로 변환하는 기법입니다. 즉, 여러 개의 인자를 받는 함수를 여러 개의 단일 인자를 받는 함수로 변환하여, 각 인자를 하나씩 적용할 수 있도록 하는 것입니다. 이 과정을 통해 함수의 재사용성과 가독성을 높일 수 있습니다. Currying의 기본 개념 예를 들어, 일반적인 함수가 두 개의 인자를 받는다고 가정해 보겠습니다: ```javascript function add(x, y) { return x + y; } ``` 위의 `add` 함수는 두 개의 인자 `x`와 `y`를 받<a href='https://sangseek.com/sangseeks/아서/ko'>아서</a> 그 합을 반환합니다. 그러나 currying을 적용하면 이 함수를 다음과 같이 변환할 수 있습니다: ```javascript function curriedAdd(x) { return function(y) { return x + y; }; } ``` 이제 `curriedAdd` 함수는 하나의 인자 `x`를 받고, 또 다른 함수를 반환합니다. 이 반환된 함수는 두 번째 인자 `y`를 받아서 두 인자의 합을 계산합니다. <a href='https://sangseek.com/sangseeks/사용 예/ko'>사용 예</a>시는 다음과 같습니다: ```javascript const addFive = curriedAdd(5); // x에 5를 고정 console.log(addFive(3)); // 8 console.log(addFive(10)); // 15 ``` 위의 예에서 `addFive`는 `curriedAdd`를 통해 `x`에 5를 고정한 새로운 함수입니다. 이렇게 currying을 사용하면 특정 인자를 미리 설정해두고, 나중에 다른 인자를 적용하여 사용할 수 있습니다. Currying의 장점 1. 재사용성 : 특정 인자를 미리 설정한 함수를 생성함으로써, 코드의 재사용성을 높일 수 있습니다. 예를 들어, 여러 번 사용되는 특정 값으로 함수를 고정해 두면, 코드가 더 간결해집니다. 2. 가독성 : 함수의 인자를 하나씩 적용하는 방식은 코드의 흐름을 명확하게 하여 가독성을 높입니다. 각 단계에서 어떤 인자가 사용되는지 쉽게 이해할 수 있습니다. 3. 부분 적용 : currying은 부분 적용(partial application)을 가능하게 합니다. 즉, 함수의 일부 인자만을 고정하고 나머지 인자는 나중에 제공할 수 있습니다. 4. <a href='https://sangseek.com/sangseeks/함수 조합/ko'>함수 조합</a> : 여러 개의 작은 함수를 조합하여 더 복잡한 함수를 만들 수 있습니다. 이는 함수형 프로그래밍의 핵심 원칙 중 하나입니다. Currying의 예제 다음은 currying을 활용한 좀 더 복잡한 예제입니다: ```javascript function multiply(x) { return function(y) { return x * y; }; } const double = multiply(2); const triple = multiply(3); console.log(double(5)); // 10 console.log(triple(5)); // 15 ``` 위의 예제에서 `multiply` 함수는 인자 `x`를 받아서 `y`와 곱하는 함수를 반환합니다. `double`과 `triple`은 각각 2와 3으로 고정된 함수를 생성하여, 나중에 다른 인자를 적용할 수 있습니다. 결론 Currying은 자바스크립트와 같은 함수형 프로그래밍 언어에서 매우 유용한 기법입니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있으며, 함수 조합 및 부분 적용을 통해 더 유연한 프로그래밍이 가능합니다. 이러한 특성 덕분에 currying은 복잡한 애플리케이션을 개발할 때 특히 유용하게 사용될 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기