04.JavaScript- 고차 함수

이수현·2022년 4월 29일
0

TIL

목록 보기
4/23

📚JavaScript 고차 함수

함수는 일급객체?

일급이란?

  • 값으로 다룰 수 있다.
  • 변수에 담을 수 있다.
  • 함수의 인자로 사용될 수 있다.
  • 함수의 결과로 사용될 수 있다.

💡 함수가 일급객체라는 것?

  • 함수를 값으로 다룰 수 있다. => const add5 = a => a + 5;, const f1 = () => () => 1;
  • 조합성과 추상화의 도구이다.

그렇다면 고차함수는 무엇일까?

고차함수의 정의는 함수를 값으로 다루는 함수를 말한다. 2가지의 종류가 있다

  • 함수를 인자로 받아서 실행하는 함수
  • 함수를 만들어 리턴하는 함수(클로저를 만들어 리턴하는 함수)
const func1 = (fn) => fn(1); // 인자로 함수를 받고, 그 함수에 인자 1을 전달하고 호출한다.
const add = (a) => a + 2;
console.log(func1(add)); // 3   => func1함수에 add함수가 인자로 들어가고 add함수에 인자 1이 전달되어 호출된 반환값을 출력.
//
const addMaker = a => b => a + b; // 함수의 리턴값이 b => a + b라는 함수를 리턴한다.
const add10 = addMaker(10); // add10이라는 변수에는 결국 b => 10 + b라는 함수가 할당된다.
console.log(add10(5)); // 15 

0개의 댓글