고차 함수는 함수를 값처럼 받아 동작을 조합한다
함수를 인자로 넘기거나 반환하면 반복되는 흐름은 유지하고 달라지는 동작만 주입할 수 있다.
| 패턴 | 뜻 | 예시 | 확인할 것 |
|---|---|---|---|
| Callback input | 함수를 인자로 받음 | array.map(fn) | 언제 호출되는가 |
| Function output | 함수를 반환함 | makeValidator(rule) | 캡처한 상태가 안전한가 |
| Reuse flow | 반복 구조는 고정하고 동작만 바꿈 | filter predicate | 이름이 의도를 설명하는가 |
| Composition | 작은 함수를 이어 큰 동작 구성 | pipe, compose | 읽기 어려울 만큼 과한가 |
| Side effect | 콜백 안 외부 상태 변경 | event handler | 부작용 위치가 분명한가 |
고차 함수의 핵심은 함수를 데이터처럼 전달해 흐름과 세부 동작을 분리하는 것이다.