함수를 리턴? HOF (feat.HOC)

전은찬·2023년 2월 20일
0
post-thumbnail

함수를 리턴하는 함수 HOF에 대해 알아보자.

HOF

위와 같은 코드가 있을 때 함수 안의 함수 function item을 콘솔에 출력하고 싶으면 어떻게 해야할까?

생각보다 간단하다! com()() 으로 작성해주면
콘솔에 Mac과 item이 모두 출력할 수 있다.

파라미터(매개변수)를 활용해서 다시 한번 작성해보면..

이런식으로 작성해 줄수 있는데 변수를 함수의 파라미터로 넘겨주고, 실행시 넘겨준 인자값으로 출력이 된다.


화살표 함수로도 표현이 가능하고 함수의 중괄호와 리턴 사이에 아무것도 없다면 중괄호도 생략하여 적어줄 수 있다.
결과적으로 우리가 처음에 작성했던 함수를 위의 코드처럼 적어도 같은 결과를 출력할 수 있다.

HOC

HOC는 Higher Order Component의 약자이고,
말 그대로 상위의 있는 컴포넌트이고, 컴포넌트를 인자로 받아 새로운 컴포넌트를 반환하는 함수이다.
여러개의 컴포넌트를 export/import 하는 방식인 클래스형 컴포넌트를 채택하고 있다면 HOC는 유용하게 사용될 수 있다.
요즘은 함수형 컴포넌트, hook을 자주 사용하는 요즘에는 HOC의 사용 빈도수가 줄었다고는 한다.

profile
no record no memory

0개의 댓글