평가

일급

const a = 10
const add10 = a => a + 10
const r = add10(a)

일급 함수

const add5 = a => a + 5
log(add5) // a => a + 5
log(add5(5)) // 10

//이와 같이 함수 자체를 값으로 다룰 수 있으면
//함수 자체를 전달하거나 매개변수를 통한 값을 전달하기도 가능하다
const f1 = () => () => 1
log(f1()) // () => 1

const f2 = f1()
log(f2) // () => 1
log(f2()) // 1

//함수 안에서 또 다른 함수를 리턴이 가능하고
//이 조합을 통해서 추상화가 가능하다

고차 함수

<aside> 💡 2가지 종류의 고차 함수를 알아보자!

</aside>

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