일급 함수 & 고급 함수

Ye Seo Lee·2022년 7월 21일
0

평가란?
코드가 계산되어 값을 만드는 것

일급 함수란?

  • 값으로 다룰 수 있다.
  • 값이나 함수를 변수에 담을 수 있다.
  • 함수의 인자로 사용될 수 있다. (parameter)
  • 함수의 결과로 사용될 수 있다.(return 값으로 함수가 올 수 있다)

함수형 프로그래밍은 '일급 함수'의 성질을 가지며 이 성질을 활용하면 많은 조합성을 만들어내고 추상화의 좋은 도구로써 사용할 수 있음

고차 함수란?

  • 일급 함수의 성질을 이용해서 함수를 값으로 다루는 함수
- 함수를 인자로 받아서 안에서 실행해주는 함수
	```
    const apply = f => f(1);
    // 함수가 함수의 인자로써 '함수'를 받아서 안에서 실행
    const add2 = a => a+2;
    console.log(apply(add2)); // 결과값 3
    // === (a=> a+2) => (a=> a+2)(1);
    const times = (f,n) => {
      let i = -1;
      while(++i < n) f(i);
    }
    times(console.log,3);
    times(a=>console.log(a+10),3);
    // 이러한 프로그래밍 기법을 Applicative 프로그래밍이라고 한다.
    ```
    
- 함수를 만들어서 리턴하는 함수 (클로저)
	```
    const addMaker = a => b => a+b;
    const add10 = addMaker(10);

    console.log(add10(5));
    ```

0개의 댓글