lodash curry, flowJavascript/Javascript 지식2024. 1. 3. 10:25
Table of Contents
왜씀 ?
- flow와 curry 함수를 사용하면 코드를 더 간결하게 작성하고 함수형 프로그래밍의 개념을 적용할 수 있다.
curry
커링은 함수형 프로그래밍에서 일반적으로 사용한다
- 부분 적용(Partial Application): 커링된 함수는 필요한 인수를 부분적으로 적용할 수 있습니다. 이를 통해 원하는 시점에 나머지 인수를 전달하여 함수를 완전히 호출할 수 있다.
- 재사용성 향상: 커링된 함수를 미리 부분 적용하여 새로운 함수를 생성할 수 있으므로, 유사한 동작을 하는 여러 함수를 쉽게 만들 수 있다.
- 가독성 향상: 커링된 함수를 사용하면 함수 호출이 연쇄적으로 이루어지므로 코드의 가독성이 향상된다.
- 커링은 함수를 여러 개의 단일 인수를 받는 함수들로 분해하는 과정이며, Lodash의 curry 함수는 이런 커링을 쉽게 할 수 있도록 도와주는 함수이다
const _ = require('lodash');
const add = (x, y, z) => x + y + z;
const curriedAdd = _.curry(add);
// add(2, 3, 4)와 같음
console.log(curriedAdd(2)(3)(4))
console.log(curriedAdd(2, 3)(4))
flow
- flow 함수는 함수를 연결하여 하나의 함수로 만들어주는 함수이다.
- 각 함수는 이전 함수의 결과를 다음 함수의 입력으로 전달한다.
- 이는 함수형 프로그래밍에서 데이터를 처리하는 과정을 보다 간결하게 표현할 수 있게 도와준다.
const _ = require('lodash');
const add = (x, y) => x + y;
const square = x => x * x;
const double = x => x * 2;
const combinedFunction = _.flow([add, square, double]);
console.log(combinedFunction(2, 3)); // 결과: ((2 + 3) ^ 2) * 2 = 100
'Javascript > Javascript 지식' 카테고리의 다른 글
falsy value, == vs === 연산자 (2) | 2022.10.31 |
---|---|
이벤트 버블링/캡쳐/위임 (1) | 2022.09.16 |
클로져 (0) | 2022.09.14 |
자바스크립트 작동 방식 (0) | 2022.06.13 |
자바스크립트와 동시성 (0) | 2022.06.06 |
@덕구공 :: Duck9s'
주니어 개발자에욤
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!