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>