Programming Skills/함수형 프로그래밍
함수형프로그래밍-일급함수, add_maker,함수로 함수 실행하기
Ideveloper2
2018. 1. 31. 01:03
일급함수
var f1=function(a){return a*a;};
console.log(f1);
var f2=add;
console.log(f2);
function f3(f){
return f();
}
console.log(f3(function(){return 10;}))
f3은 함수를 받아서 그결과를 리턴->일급함수
/*add maker*/
function add_maker(a){
return function(b){
return a+b;
}
}
var add10= add_maker(10);
console.log(add10(20));
30이라는 결과가 나온다. 클로저
function f4(f1,f2,f3){
return f3(f1()+f2());
}
f4(
function(){return 2;}
function() {return 1;}
function(a) {return a*a};
)
순수한 함수들을 조합하여, 최종적으로 결과를 만들어냄.
매우 중요한 개념일것이다.!
add maker 같은경우는 간단한 함수이지만, 일급함수와 클로저라는 개념이 혼합된 함수이다.
또한 a라는 값은 항상 고정되어 있으므로, 동일한결과 ->순수함수