고차 함수와 콜백 실행 맥락
고차 함수는 함수를 인자로 받거나 반환하고, 콜백은 필요한 시점에 나중에 호출될 동작을 전달한다.
| 구분 | 역할 | 주요 질문 | 위험 신호 |
|---|---|---|---|
| Higher-order function | 함수를 받거나 반환 | 흐름과 동작이 분리됐는가 | 추상화 목적이 불명확 |
| Callback | 나중에 실행될 동작 | 누가 언제 호출하는가 | 호출 순서를 오해 |
| this | 콜백 호출 방식에 따라 달라짐 | 일반 함수와 화살표 중 무엇이 맞는가 | 객체 메서드를 콜백으로 넘겨 this 손실 |
| Error handling | 콜백 안 실패 처리 | 동기/비동기 오류 경로가 있는가 | 오류가 조용히 사라짐 |
| Readability | 중첩을 줄이고 이름 붙임 | 콜백이 너무 길지 않은가 | callback hell |
콜백을 볼 때는 함수 내용보다 그 함수가 언제, 어떤 this와 인자로 호출되는지를 먼저 확인한다.