강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

아로마홈키퍼님의 프로필 이미지
아로마홈키퍼

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

pipe

pipe 함수 인자관련 질문있습니다

작성

·

270

1

const pipe = (...fs) => (a) => go(a, ...fs);

const f = pipe(

a => a+1,

a=> a+10,

a=> a+100

)

 

f(0)

이 부분에서 질문이 있습니다.

1. f 함수는 어떻게 0이라는 파라미터를 받을 수 있는가?

- pipe 함수 자체가 ...fs를 파라미터로 받기에 가능한 것인가요?

2. pipe 함수에서의 (a)가 어떻게 f(0)에서의 0으로 연결되는지 이해가 잘 안됩니다. 

f(0) = pipe(...fs)(0) 이렇게 되는 건가요?

답변 1

5

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

1. f 함수가 0이라는 파라미터를 받을 수 있는 것은 pipe 함수를 실행했을때의 결과 값이 함수이기 때문입니다.

1.2 pipe 함수가 ...fs 함수들을 파라미터로 받아서 내부적으로 실행할 준비가된 함수를 다시 리턴합니다.

2. 생각하신대로 f(0) == pipe(...fs)(0) 가 맞습니다.

감사합니다. :)

아로마홈키퍼님의 프로필 이미지
아로마홈키퍼

작성한 질문수

질문하기