추상화를 통해 생산성을 향상 시키기 위해
복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드는 것
자바스크립트에서도 특별 대우를 받는 일급객체 (first-class-citizen)가 존재하는데, 대표적인 일급 객체 중 하나가 함수 입니다
const func = function(num) {
return num * num;
}
const sqaure = function(num) {
return num * num;
}
const result = function(func) {
return func();
}
retrult(sqaure(3));
const result = function(add) {
return function(num) {
return num + add
};
}
그리하여, 클로저
또한 일급 객체 함수의 개념을 활용한 기술 이라고 할 수 있습니다
함수(caller)의 전달인자로 전달되는 함수를 콜백함수(callback function)라고 합니다. 콜백함수를 전달받은 고차함수(caller)는 함수 내부에서 콜백함수를 호출(invocke) 할 수도 있습니다
고차함수 ⊃ 커링함수 : 고차함수는 커링함수를 포함하는 개념입니다