고차 함수
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 |