[JavaScript] 고차 함수

정진우·2024년 5월 31일
0

JavaScript

목록 보기
17/20
post-thumbnail

일급 객체(First-Class Object)

일급 객체는 프로그래밍 언어에서 다음과 같은 특성을 가지는 객체를 의미합니다.

  • 함수를 변수에 할당하여 나중에 사용할 수 있습니다.
  • 함수의 인자로 전달할 수 있습니다.
  • 함수를 반환값으로 사용할 수 있습니다.

고차 함수(Higher Order Function)

고차 함수는 일급 객체인 함수를 활용하여 특정한 방식으로 작동하는 함수입니다.

함수를 변수에 할당하여 나중에 사용할 수 있습니다.

const sayHello = function (name) {
  return `Hello, ${name}!`;
};

console.log(sayHello("Jinwoo")); // Hello, Jinwoo!
  • sayHello를 변수에 할당하고 나중에 호출해서 사용할 수 있습니다.

함수의 전달인자로 전달할 수 있습니다.

함수가 다른 함수를 호출하는 방식으로 동작을 제어할 수 있습니다.

function greet(fn) {
  fn();
}

const sayHello = function() {
  console.log("Hello!");
};

greet(sayHello); // Hello!
  • 함수 greet는 다른 함수 sayHello를 인자로 받아 호출합니다.

함수를 반환값으로 사용할 수 있습니다.

함수 내부에서 함수를 생성하여 반환할 수 있습니다.

function createGreeter(name) {
  return function() {
    console.log(`Hello, ${name}!`);
  };
}

const greetAlice = createGreeter("Jinwoo");
greetAlice(); // Hello, Jinwoo!
  • 함수 createGreeter는 내부에서 새로운 함수를 생성하여 반환합니다. 반환된 함수는 name를 기억하고 있습니다.

일급 객체프로그래밍 언어의 특성을 설명합니다. 자바스크립트에서는 함수가 일급 객체입니다.
고차 함수일급 객체의 특성을 활용하여 함수를 인자로 받거나 함수를 반환하는 함수의 유형을 설명합니다.


참고

profile
내가 바뀌지 않으면 아무것도 바뀌지 않는다 🔥🔥🔥

0개의 댓글