Javascript: 고차 함수
const higherOrderFunc = function() {
return function() {
return 12;
}
}
// which returns below function hence it is higher order function.
higherOrderFunc();
> ƒ () {
return 12;
}
higherOrderFunc()();
> 12
const testFunc = function(x) {
return x + 12;
}
//which takes function as an argument.
const higherOrderFunc = function(testFunc) {
return testFunc(8);
}
higherOrderFunc(testFunc);
> 20
예: 1
function calculate(operation, numbers) {
return operation(numbers);
}
function addition(numbers) {
let sum = 0;
for (const number of numbers) {
sum+=number;
}
return sum;
}
function multiply(numbers) {
let sum = 1;
for (const number of numbers) {
sum*=number;
}
return sum;
}
const numbers = [1,2,3,4,5];
console.log(calculate(addition, numbers));
> 15
console.log(calculate(multiply, numbers));
> 120
calculate(multiply, numbers) - Don't append parenthesis while sending function as an argument.
고차 함수의 이점:
Javascript에서 함수는 인수를 프리미티브 또는 객체로 취하고
first-order functions
라는 동일한 항목을 반환할 수 있습니다.JS 내장 고차 함수는 다음과 같습니다.
arr.reduce(), arr.forEach(), arr.filter(), arr.map()
감사.
여기에서 나를 팔로우할 수 있습니다.
Reference
이 문제에 관하여(Javascript: 고차 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/urstrulyvishwak/javascript-higher-order-functions-2dkg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)