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라는 값은 항상 고정되어 있으므로, 동일한결과 ->순수함수