함수형 프로그래밍과 JavaScript ES6+ 인프런 강의 정리
1 + 3 // 3으로 평가
[1, 2 + 3] // [1, 5]로 평가
const a = 10; // 변수에 담을 수 있다.
const add = a => a + 10; // 함수의 인자로 사용될 수 있다.
const r = add10(a); // 함수의 결과로 사용될 수 있다.
const add5 = a => a + 5; // 변수에 함수를 값으로 사용가능
log(add5); // 함수의 인자로 함수로 사용가능
log(add5(5)); // 함수의 결과를 다른 함수에 전달가능
const f1 = () => () => 1; // 함수의 결과를 함수로 사용가능
log(f());
const f2 = f1(); // 다른 변수에 함수를 담을 수 있다.
log(f2);
log(f2());
const apply1 = f => f(1);
const add2 = a => a + 2;
log(apply1(add2));
log(apply1(a => a - 1));
const times = (f, n) => {
let i = -1;
while (++i < n) f(i);
};
times(log, 3);
times(a => log(a + 10), 3);
const addMaker = a => b => a + b;
const add10 = addMaker(10);
log(add10(5));
log(add10(10));