순수 함수
출력이 입력에만 의존하는 것을 의미합니다.
자바스크립트
const pure = (a, b) => {
return a + b
}
pure 함수는 들어오는 매개변수 a, b에만 영향을 받습니다. 만약 a, b 말고 다른 전역 변수 c 등이 이 출력에 영향을 주면 순수 함수가 아닙니다.
고차 함수
고차 함수란 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것을 말합니다.
일급 객체
이때 고차 함수를 쓰기 위해서는 해당 언어가 일급 객체라는 특징을 가져야 하며 그 특징은 다음과 같습니다.
• 변수나 메서드에 함수를 할당할 수 있습니다.
• 함수 안에 함수를 매개변수로 담을 수 있습니다.
• 함수가 함수를 반환할 수 있습니다.
참고로 함수형 프로그래밍은 이외에도 커링, 불변성 등 많은 특징이 있습니다. 함수형 프로그래밍의 심화, 응용 사례 등을 자세히 알고 싶다면 <실시간 모니터링 시스템을 만들며 정복하는 MEVN>(BJ퍼블릭, 2021)을 읽는 것을 추천합니다.