Javascript의 고차 함수
자바스크립트에서 함수는 변수로도 취급될 수 있으므로 이를 반환하거나 매개변수로 전달할 수 있습니다.
고차 함수 구현
다른 함수를 받아 본문 내에서 호출하는 간단한 고차 함수를 구현해 봅시다.
function doSomething(action) {
action(); // Hi
}
function actionFunction() {
console.log("Hi");
}
doSomething(actionFunction);
우리는 doSomething 함수를 호출하고 함수 actionFunction을 param으로 지정했으며 단순히 본문 내부에서 호출했으며 자바 스크립트에서는 완벽하게 괜찮습니다.
anothet 고차 함수를 생성하지만 이제 대신 함수를 반환합니다.
function getAction() {
return function() {
console.log("Hi");
}
}
const action = getAction();
action(); // hi
우리는 getAction에 의해 반환된 함수를 저장한 다음 콘솔에 hi를 기록하기 위해 나중에 호출했습니다.
Javascript의 기존 고차 함수
javascript에는 언어로 구축된 많은 고차 함수가 있습니다. 이제 배열 메서드인 함수 중 일부를 살펴보겠습니다.
forEach 방법
let arr = [1, 2, 3, 4, 5];
function log(x) {
console.log(x); // 1, 2, 3, 4, 5
}
arr.forEach(log);
forEach 함수는 배열을 반복하고 전달된 함수를 호출할 때마다 현재 반복되는 요소를 제공합니다.
지도 기능
let arr = [1, 2, 3, 4, 5];
function double(x) {
return x * 2;
}
const newArr = arr.map(double);
console.log(newArr); // [ 2, 4, 6, 8, 10 ]
map 메서드는 현재 반복되는 값을 전달된 함수가 반환하는 값으로 바꾼 다음 새 배열을 반환합니다.
필터 방식
let arr = [1, 2, 3, 4, 5];
function isPair(x) {
return x % 2 == 0;
}
const pairs = arr.filter(isPair);
console.log(pairs); // [ 2, 4 ]
필터 메서드는 함수에 전달되고 true를 반환하는 배열 요소만 유지합니다.
Reference
이 문제에 관하여(Javascript의 고차 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hacker4world/high-order-functions-in-javascript-1nf2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)