함수형 프로그래밍의 경우
평가 시점이 상대적으로 유연해 진다.
순수함수로 만드는 기법이 메서드 보다 다형성면에서 실용성면에서 좀 더 좋은 점들이 있다
2번째 인자로 들어가는 함수는 보통 콜백함수라고 많이들 생각하고 인식하지만 함수의 역할에 따라 무슨 함수인지(다양한 이름을 가지는게) 구분하는게 중요하다.
콜백함수 : 무조건 어떤 일들을 다 수행한 다음에 다시 돌려줄 때 사용
Predicate : 어떤 조건을 리턴하는 함수
Iteratee : 돌면서 반복적으로 실행되는 함수
Mapper : 무언가 무언가를 매핑해주는 함수
보조 함수를 역할에 따라 다르게 불러야 한다.
커링
커링
function _curry(fn) {
return function(a) {
return function(b) {
return fn(a,b)
}
}
}
함수가 함수를 리턴하는 방식으로 함수르 조합해 나가는 방식 => 대표적인 예가 커링함수이다.
Reduce, 파이프라인
Reduce