December 27, 2021 https://www.youtube.com/watch?v=4sO0aWTd3yc
순수 함수
모듈화 수준이 높다
const f1 = a => a * a;
console.log(f1);
// 함수를 받아서 실행시켜서 결과를 확인하는 함수
const f3 = f => return f();
console.log(f3(function() { return 10; })); // 10
// 일급 함수와 클로져를 사용한 예제
function add_maker(a) {
return funciton(b) { // closure function
return a + b;
}
}
const add10 = add_maker(10);
console.log( add10(20) ); // 30
// 함수형 프로그래밍의 기본예제
// 순수한 함수들을 조합하고 출력을하여
// 평가 시점과 평가 로직의 사이에서 결정할 것인지 판단하여 큰 로직을 만들어감
// 비동기를 다루기 쉬움
function f4(f1, f2, f3) {
return f3(f1() + f2());
}
console.log( // 9
f4(
function () {
return 2;
},
function () {
return 1;
},
function (a) {
return a * a;
}
)
);
고가용성: 절대 죽지 않는 서비스 (페이스북은 점검 시간 없다)