고차함수 ( forEach, map, filter, reduce 등 )

자바스크립트에서 일급 객체의 조건

  1. 변수에 할당 가능하다
const sayHi = function() {
console.log('Hello');
};
  1. 함수의 인자로 전달 가능하다
function greet(callback) {
callback(); // 전달받은 함수 실행
}

greet(function() {
console.log('Hi from callback');
});
  1. 함수에서 함수를 반환이 가능하다
function makeMultiplier(factor) {
  return function(num) {
    return num * factor;
  };
}

const double = makeMultiplier(2);
console.log(double(5)); // 10
  1. 객체의 속성으로 저장 가능하다
const calculator = {
  add: function(a, b) {
    return a + b;
  }
};

console.log(calculator.add(2, 3)); // 5

코드블럭 { }