🤹🏻‍♀️ Javascript

[함수형 프로그래밍] 고차 함수

ji-hyun 2022. 4. 22. 22:47

고차 함수

 

const apply1 = f => f(1);
const add2 = a => a + 2;

console.log(apply1(add2))

 

 

const apply1 = f => f(1);

// 위와 동일
const apply1 = (a => a + 2) => (a => a + 2)(1);

 

함수를 받아서 안에서 실행한다는 뜻

 

고차함수란 함수를 인자로 받아서 실행하는 함수를 얘기 한다.

 

 

 

 

 

 

const times = (f, n) => {
	let i = -1;
    while (++i < n) f(i);
}

times(a => log(a + 10), 3);

 

10

11

12

출력됨

 

함수를 인자로 받아서 안에서 함수를 실행하게 함

 

 

 

 

 

 

함수를 만들어 리턴하는 함수 (클로저를 만들어 리턴하는 함수)

 

const addMaker = a => b => a + b;
const add10 = addMaker(10);   
log(add10);     // b => a + b 가 리턴

 

위는 함수가 실행되었을 때 함수가 리턴하는 것을 볼 수 있다.

 

 

 

 

const addMaker = a => b => a + b;
const add10 = addMaker(10);   
log(add10);     // b => a + b 가 리턴
log(add10(5));
log(add10(10));

 

15

20 

출력

 

 

 

b => a + b 는 함수이자, a 를 기억하는 클로저 함수이다.

 

 

 

 

 

 

 

 

 

'🤹🏻‍♀️ Javascript' 카테고리의 다른 글

async, await  (0) 2022.04.23
[Js] Map, Set 자료형  (0) 2022.04.23
Js 구조분해할당  (0) 2022.03.17
moment 참고자료  (0) 2022.03.06
Ajax, Axios, Fetch  (0) 2022.01.31