[javascript]평가와 일급

C__W.A·2022년 5월 10일
0

javascript

목록 보기
4/5
post-thumbnail

✅ 평가

  • 코드가 계산(Evaluation) 되어 값을 만드는 것

>1
1
//1로평가
>1+2
3
//3으로 평가
>(1+2)+4
7
//7로 평가

✅ 일급

  • 값으로 다룰 수 있다.
  • 변수에 담수 있다.
  • 함수의 인자로 사용될 수 있다.
  • 함수의 결과로 사용될 수 있다.
const a = 10; //변수에 담음.

const num10 = a => a+10; //함수의 인자로 사용될 수 있다. 

const result = num10(a); // 함수의 결과로 사용될 수 있다.

✅ 일급 함수

  • 함수를 값으로 다룰 수 있다.
  • 조합성과 추상화의 도구

const add5 = a =>a+5;

const f1 = () => () => 1;
console.log(f1);
> () => 1

const f2 = f1();
console.log(f2());
> 1

✅ 고차 함수

  • 함수를 값으로 다루는 함수

1. 함수를 인자로 받아서 실행하는 함수

const log = a =>console.log(a)

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

console.log(apply1(add));
> 3

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

f1(log, 3)
>0
1
2

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


const addmaker = a => b => a + b;
const addresult = addmaker(10);

log(addresult(10));
> 20
profile
기술은 문제를 해결하기 위해 존재한다

0개의 댓글