순수 함수 라하면 출력이 입력에만 의존하는 것을 의미한다.
Javascript
const something = (a,b)=>{
return a + b
}
pure 함수는 들어오는 매개변수 a,b에만 영향을 받는다. 만약 a,b 말고 다른 전역 변수 c등이 이 출력에 영향을 주면 순수 함수가 아니다.
ㄴ 고차 함수란 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것을 말한다.
고차 함수를 쓰기 위해서는 일급 객체라는 특징을 가져야 한다.
1. 변수나 메서드에 함수를 할당할 수 있다.
2. 함수 안에 함수를 매개변수로 담을 수 있다.
3. 함수가 함수를 반환할 수 있다.
p.s 함수형 프로그래밍은 이외에도 컬링, 불변성 등 많은 특징이 있다고 한다.