더북(TheBook)

순수 함수

출력이 입력에만 의존하는 것을 의미합니다.

 

자바스크립트

const pure = (a, b) => {
    return a + b
}

pure 함수는 들어오는 매개변수 a, b에만 영향을 받습니다. 만약 a, b 말고 다른 전역 변수 c 등이 이 출력에 영향을 주면 순수 함수가 아닙니다.

 

 

고차 함수

고차 함수란 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것을 말합니다.

 

일급 객체

이때 고차 함수를 쓰기 위해서는 해당 언어가 일급 객체라는 특징을 가져야 하며 그 특징은 다음과 같습니다.

• 변수나 메서드에 함수를 할당할 수 있습니다.

• 함수 안에 함수를 매개변수로 담을 수 있습니다.

• 함수가 함수를 반환할 수 있습니다.

 

참고로 함수형 프로그래밍은 이외에도 커링, 불변성 등 많은 특징이 있습니다. 함수형 프로그래밍의 심화, 응용 사례 등을 자세히 알고 싶다면 <실시간 모니터링 시스템을 만들며 정복하는 MEVN>(BJ퍼블릭, 2021)을 읽는 것을 추천합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.