>  기사  >  웹 프론트엔드  >  JavaScript의 고차 함수 이해

JavaScript의 고차 함수 이해

DDD
DDD원래의
2024-11-20 11:39:46967검색

Razumevanje funkcija višeg reda (Higher-Order Functions) u JavaScript-u

JavaScript를 배우신다면 아마도 고차 함수라는 용어를 접해 보셨을 것입니다. 복잡해 보이지만 그렇게 복잡하지는 않습니다. 함수형 프로그래밍 언어인 JavaScript를 사용하면 함수 기반 프로그래밍에서 중요한 이러한 함수를 사용할 수 있습니다.

함수형 프로그래밍

함수형 프로그래밍은 기본 구성 요소로 함수를 생성하고 사용하는 것을 의미합니다. 이 접근 방식에서는 함수를 다른 함수에 매개 변수로 전달하거나 결과로 반환할 수 있습니다. 이러한 사고방식은 체계적이고 효율적인 코드 작성을 가능하게 합니다.

퍼스트 클래스 기능

JavaScript는 함수를 '일급 시민'으로 취급합니다. 이는 함수가 객체, 즉 변수에 할당되고, 매개변수로 전달되고, 숫자나 문자열과 같은 다양한 컨텍스트에서 사용될 수 있는 특정 유형의 객체라는 것을 의미합니다.

:

function pozdrav() {
  console.log('Zdravo, svete!');
}
pozdrav();  // Ispisuje 'Zdravo, svete!'

// Dodavanje svojstva funkciji
pozdrav.jezik = 'srpski';
console.log(pozdrav.jezik); // Ispisuje 'srpski'

변수에 함수 할당

JavaScript에서는 함수를 변수에 할당할 수 있습니다.

const kvadrat = function(x) {
  return x * x;
};
console.log(kvadrat(5));  // Ispisuje 25

함수를 매개변수로 전달하기

일급 함수의 주요 특징 중 하나는 이를 다른 함수에 인수로 전달할 수 있다는 것입니다.

function formalniPozdrav() {
  console.log("Kako ste?");
}
function neformalniPozdrav() {
  console.log("Šta ima?");
}
function pozdravVrsta(vrsta, formalan, neformalan) {
  if (vrsta === 'formalan') {
    formalan();
  } else if (vrsta === 'neformalan') {
    neformalan();
  }
}
pozdravVrsta('neformalan', formalniPozdrav, neformalniPozdrav);  // Ispisuje 'Šta ima?'

고차 함수

고차 함수는 다른 함수를 인수로 받아들이거나 결과로 반환하는 함수입니다. 이를 통해 더욱 우아하고 간결한 코드 작성이 가능해졌습니다. 예로는 map, filter, Reduce 등이 있습니다.

메서드

지도 방법

map은 기존 배열의 각 요소에 대해 함수를 호출하여 새 배열을 생성합니다.

지도 방법 없음:

const arr1 = [10, 20, 30, 40, 50];
const arr2 = [];
for (let i = 0; i < arr1.length; i++) {
  arr2.push(arr1[i] * 2);
}
console.log(arr2);  // [20, 40, 60, 80, 100]

지도 방법 사용:

const arr1 = [10, 20, 30. 40, 50];
const arr2 = arr1.map(item => item * 2);
console.log(arr2);  // [20, 40, 60, 8-, 100]

필터 방법

필터는 주어진 조건을 만족하는 모든 요소로 새 배열을 만듭니다.

const osobe = [
  { ime: 'Pera', godine: 13 },
  { ime: 'Mika', godine: 18 },
  { ime: 'Laza', godine: 64 },
  { ime: 'Ana', godine: 10 },
];
const punoletni = osobe.filter(osoba => osoba.godine >= 18);
console.log(punoletni);  // [ { ime: 'Mika', godine: 18 }, { ime: 'Laza', godine: 64 } ]

감소 방법

reduce는 배열의 각 구성원에 대해 함수를 수행하고 고유한 값을 반환합니다.

축소 예시:

const arr = [4, 6, 10, 5, 25];
const suma = arr.reduce((akumulator, vrednost) => akumulator + vrednost, 0);
console.log(suma);  // 50

고차 함수 생성

JavaScript에 내장된 지도 메소드가 없다고 상상해 보세요. 직접 만들 수도 있습니다:

function mapiraj(arr, fn) {
  const noviNiz = [];
  for (let i = 0; i < arr.length; i++) {
    noviNiz.push(fn(arr[i]));
  }
  return noviNiz;
}
const duzine = mapiraj(['JavaScript', 'Python'], item => item.length);
console.log(duzine);  // [10, 6]

결론

고차 함수는 JavaScript에서 코드의 유연성과 단순성을 가능하게 합니다. 이러한 기능을 사용하면 코드가 더욱 간결해지고 체계화되며 유지 관리가 쉬워집니다.

위 내용은 JavaScript의 고차 함수 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.