728x90
# compose함수
-여러개의 함수를 인자로 전달받아 함수를 리턴하는 고차함수
-함수를 갯수제한 없이 받을수도 있다.
-맨 오른쪽 인자부터 실행된다.
const compose = (func1, func2) => val => func2(func1(val));
const compose = (...funcs) => (initialVal)
=> funcs.reduceRigth((val, fn) => fn(val), initialVal);
//이 두 코드는 완전히 같다
multiply5(add2(multiply3(add2(2))));
compose(multiply5, add2, multiply3, add2)(2);
#pipe함수
-맨 왼쪽인자부터 실행된다.
const pipe = (...funcs) => (initialVal)
=> funcs.reduce((val,fn) => fn(val), initialVal);
//이 두 코드는 완전히 같다
multiply5(add2(multiply3(add2(2))));
pipe(add2, multiply3, add2, multiply5)(2);
★★코플릿6번문제 참고
728x90
'부트캠프교육중 > JavaScript' 카테고리의 다른 글
동기, 비동기 (0) | 2023.01.17 |
---|---|
extends, super 이용 예시 (0) | 2023.01.16 |
추상화 (0) | 2023.01.14 |
내장고차함수(filter, map, reduce) (0) | 2023.01.14 |
일급객체와 고차함수 (0) | 2023.01.14 |