함수형 프로그래밍 1 기본개념
함수형 프로그래밍의 기본 개념에 대해 정리해보았다.
평가
- 코드가 계산(Evaluation) 되어 값을 만드는 것
일급
- 값으로 다룰 수 있다.
- 변수에 담을 수 있다.
- 함수의 인자로 활용될 수 있다.
- 함수의 결과로 사용될 수 있다.
1 | const a = 10; |
일급 함수
- 함수를 값으로 다룰 수 있다.
- 조합성과 추상화의 도구
1 | const add5 = (a) => a + 5; |
고차함수
- 함수를 값으로 다루는 함수
함수를 인자로 받아서 실행하는 함수(Applicative Programming)
고차함수의 두 가지 유형중 하나 함수를 인자로 받아서 실행하는 함수이다.
apply1
apply1은 함수를 인자로 받아서 1을 넣은 결과값을 리턴해주는 함수이다.
1 | const apply1 = (f) => f(1); |
times
times는 함수를 인자로 받아서 n만큼 반복하여 실행하는 함수이다.
1 | const times = (f, n) => { |
함수를 만들어 리턴하는 함수 (클로저를 만들어 리턴하는 함수)
- addMaker
addMaker는 두 수를 더하는 함수를 만들어서 반환하는 함수이다.
자바스크립트에서 함수객체는 함수가 만들어질 떄의 환경을 가지고 있기 때문에 클로저를 가지고 있다.
1 | const addMaker = (a) => (b) => a + b; |