> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 고차 함수 이해

JavaScript의 고차 함수 이해

DDD
풀어 주다: 2024-11-20 11:39:46
원래의
1031명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿