Javascript

16. 고차함수

연쥬개발쟈 2020. 9. 26. 14:29

함수 

-변수에 할달 할 수있다. 

-다른 함수의 인자로 전달 될 수 있다. 

-다른 함수의 결과로서 리턴 될 수 있다. 

 


고차함수란 ? 

함수를 인자로 받거나 함수를 리턴하는 함수를 말한다. 

콜백함수란?

다른함수의 인자로 전달되는 함수 이다. 

 

1. 다른함수를 인자로 받는 경우 

function double(num){//콜백함수
	return num * 2;
}


function doubleNum(func, num){ //고차함수
	let doubledArr = [];
    return func(num);
}


doubleNum(double,4); // 함수 호출

 

2. 함수를 리턴하는 경우 

function adder(added) { //고차함수 (익명의 함수를 사용중)
	return function (num) {//익명의 함수 
    	return num + added ;
    };
}

adder(5)(3); // 8

const add3 = adder(3);
add3(2) // 5

 

3. 함수를 인자로 받고 함수를 리턴하는 경우 

function double(num) { //콜백함수
  return num * 2;
}

function doubleAdder(added, func) { //고참함수
  const doubled = func(added);
  return function (num) {
    return num + doubled;
  };
}

doubleAdder(5, double)(3); //13