함수형 프로그래밍의 기본기

jodmsoluth·2020년 3월 13일
0

함수형프로그래밍

목록 보기
10/17

평가

  • 코드가 계산되어 값을 만드는 것

일급

  • 값으로 다룰 수 있다.
  • 변수에 담을 수 있다.
  • 함수의 인자로 사용될 수 있다.
  • 함수의 결과로 사용될 수 있다.

일급 함수

  • 함수를 값으로 다룰 수 있다.
  • 조합성과 추상화의 도구

자바스크립트에서의 함수는 일급이다.

const f1 = () => () => 1;
log(f1());

const f2 = f1();
log(f2);
log(f2());

고차함수

  • 함수를 값으로 다루는 함수

1. 함수를 인자로 받아서 실행하는 함수

  • apply1
  • times

apply1

const apply1 = f => f(1);
const add2 = a => a + 2;
log(apply1(add2));
log(apply1(a => a - 1));

times

const times = (f, n) => {
  let i = -1;
  while(++i < n) f(i);
};

times(log, 3);

times(a => log(a + 10), 3);

2. 함수를 만들어서 리턴하는 함수(클로저를 만들어 리턴하는 함수)

  • addMaker

addMaker

// 클로저를 리턴하는 함수

const addMaker = a => b => a + b;
const add10 = addMaker(10);
log(add10(5));
log(add10(10));
profile
풀스택이 되고 싶은 주니어 웹 개발자입니다.

0개의 댓글