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

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

작성한 질문수

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

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

products가 사라져도 왜 괜찮은지 모르겠어요....

작성

·

257

0

curry 함수에 의해서

products =>filter(p=>p.price <20000, products) 가 products ⇒ filter(p⇒p.price <2000)(products) 가 되는 것은 이해하였습니다. 다만 어째서

products ⇒ filter(p⇒p.price <2000)(products) 가

filter(p⇒p.price <2000) 랑 같은 것인지는 이해가 되지 않습니다.

모양 자체도 (인자) ⇒ (실행할 함수) 의 모양에서 아예
(함수) 의 모양으로만 바뀌었는데, 이렇게 될 경우 인자를 주지도 않고 작동하는 함수? 처럼 보입니다.

혹시 go 함수의 reduce 함수 자체가 이미 f(acc, a)를 할때 f(products, filter(....)) 와 같은 모양이 되기에 그런것일 까요?

답변 3

5

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

힌트를 하나만 드리면 a => f(a) 라는 함수는 그냥 f와 하는 일이 같습니다.

콘솔창을 이용하면서 연습해보시먼 이해하실 수 있을거에요!

0

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

감사합니다 :)

0

아 이제 좀 감이 잡히네요. 감사합니다.

정말 기가막힌것 같아요 함수형 프로그래밍