본문 바로가기
부트캠프교육중/JavaScript

compose함수, pipe함수

by 뭉지야 2023. 1. 14.
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