고차함수


함수에서 매개변수의 개수를 arity라고함

예를들어서 f()는 애리티가0 f(x)는 1 f(x, y)는 2임


만약 함수 f, g, h모두 애리티가 1이면 이렇게 연결해서 사용할 수 있음

2ebcc224eadc78ee3cf698a518d60403d9a7bf94fdfb9c1a25

x를 f에 집어넣고 

그 결과를 g에 넣고 

그 결과를 h에 넣으면 y가 튀어나오는거임

이렇게 인수가 1개면 연결해서 사용할 수 있음


이걸 보통 '무인수함수를 합성한다' 라고함


1개인데 왜 무인수라고 하냐면

함수자체가 1개를 받는것이 전제 되어있어서

어차피 무조건 한개니까 코드에서는 매개변수를 드러내지 않는거임


이렇게 어떤함수가 또 다른 함수를 반환하면 걔를 고차함수라고함

값을 넣었을때 단순히 값을 반환하면 1차함수 

1차함수를 반환하면 2차함수

2차함수를 반환하면 3차함수 이런거임


리액트에서 HOC도 컴포넌트를 반환하던가 

아니면 뭐 받을게 더있으면 고차함수가 되는거임