인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

vanila님의 프로필 이미지
vanila

작성한 질문수

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

go+curry를 사용하여 더 읽기 좋은 코드로 만들기

curry를 사용하여 축약할때, iter 에 관한 질문

작성

·

237

0

_go(
  products,
  _filter(p => p.price < 20000),
  _map(p => p.price),
  _reduce(add),
  console.log
)
const _go = (...args) => _reduce((a, fns) => fns(a), args 

여기에서 args 를 명시하지 않아도 되기 때문에 간결한 코드가 나오게 되었는데, curry 함수의 어떤 부분이 iter 될 args 가 없음에도 작동하는지 알고싶습니다.

답변 2

5

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

curry 함수에 fa 함수를 넣고나면,

fa 함수를 실행할 때 인자 x 를 1개만 넣을 경우,

인자 x를 기억하는 함수 fb 를 리턴하게 됩니다.

함수 fb를 나중에 실행하면서 y를 인자로 전달하면 fb가 fa를 실행하면서 x, y를 전달합니다. 

열심히 들어주셔서 고맙습니다.

 

 

0

vanila님의 프로필 이미지
vanila
질문자

6분 26 초에 평가 시점이 products, 다음에 와도 동작한다고 말씀해주셨는데 좀 더 보충 설명 들을 수 있을까요?

filter, map, reduce 가 curry 을 통해서 어떻게 적용되어지는지 알고싶습니다... 

vanila님의 프로필 이미지
vanila

작성한 질문수

질문하기