JavaScript의 고차 함수 이해

Jan 22 2023
JavaScript는 광범위한 기능을 제공하는 강력한 프로그래밍 언어입니다. JavaScript의 가장 중요하고 다양한 기능 중 하나는 고차 함수입니다.

JavaScript는 광범위한 기능을 제공하는 강력한 프로그래밍 언어입니다. JavaScript의 가장 중요하고 다양한 기능 중 하나는 고차 함수입니다. 이러한 함수는 하나 이상의 함수를 인수로 사용하거나 함수를 결과로 반환하므로 상당한 유연성과 추상화가 가능합니다.

고차 함수란 무엇입니까?

고차 함수는 하나 이상의 함수를 인수로 사용하거나 함수를 결과로 반환하는 함수입니다. 다음과 같은 사용자 지정 setTimeout 메서드를 만들어 보겠습니다 mySetTimeout.

function mySetTimeout(callback, delay) {
  setTimeout(callback, delay);
}

mySetTimeout다음은 이전에 만든 것을 사용하는 방법의 예입니다 .:

function sayHello() {
  console.log("Hello!");
}
mySetTimeout(sayHello, 1000);

현실적인 시나리오에서 고차 함수 사용

전자 상거래 웹 사이트를 만들고 사용자에게 제품 목록을 표시하려고 한다고 가정해 보겠습니다. 가격 및 범주와 같은 특정 기준에 따라 제품을 필터링하려고 합니다. Higher-Order 함수를 사용하여 제품을 필터링할 수 있습니다.

const products = [
  { name: 'Product 1', price: 10, category: 'Electronics' },
  { name: 'Product 2', price: 20, category: 'Fashion' },
  { name: 'Product 3', price: 30, category: 'Electronics' },
  { name: 'Product 4', price: 40, category: 'Fashion' },
  { name: 'Product 5', price: 50, category: 'Electronics' },
];
const filterBy = (property, value) => (product) => product[property] === value;
const filteredProducts = products.filter(filterBy('category', 'Electronics'));
console.log(filteredProducts);

또한 여러 필터를 함께 연결하여 여러 기준으로 필터링할 수 있습니다. 예를 들면 다음과 같습니다.

const filteredProducts = 
products
.filter(filterBy('category', 'Electronics'))
.filter(filterBy('price', 30));
console.log(filteredProducts);

결론

이 게시물에서는 고차 함수의 기본 개념에 대해 논의하고 실제 시나리오에서 사용할 수 있는 방법의 예를 제공했습니다. 또한 여러 기준에 따라 제품을 필터링하는 데 고차 함수를 사용하는 방법을 강조했습니다.

읽어 주셔서 감사합니다!

이를 통해 Higher-Order 함수와 JavaScript의 사용 사례에 대해 더 잘 이해하셨기를 바랍니다.