Skip to content

High Order Functions

soofg edited this page Mar 10, 2021 · 4 revisions

High Order Functions

Abstraction
Abstractions verbergen details en zorgen dat we op een abstracter level. Als je gaat programmeren kan je niet je vertrouwen zetten op alles grondig uitschrijven voor de computer.

Higher-order functions
High-order functions zijn functies die op andere functies werken. Zo krijg je met deze functies meer grip op de acties.

Voorbeelden
Functies die nieuwe functies creeeren:
function greaterThan(n) {
return m => m > n;
}
let greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// → true

Functies die andere functies veranderen:
function noisy(f) {
return (...args) => {
console.log("calling with", args);
let result = f(...args);
console.log("called with", args, ", returned", result);
return result;
};
}
noisy(Math.min)(3, 2, 1);
// → calling with [3, 2, 1]
// → called with [3, 2, 1] , returned 1

functies die nieuwe soorten controlestromen bieden:
function unless(test, then) {
if (!test) then();
}

repeat(3, n => {
unless(n % 2 == 1, () => {
console.log(n, "is even");
});
});
// → 0 is even
// → 2 is even

Filtering Arrays Het filteren van elementen uit een die niet door de test komen. function filter(array, test) {
let passed = [];
for (let element of array) {
if (test(element)) {
passed.push(element);
}
}
return passed;
}

forEach aen filter, zijn standaard array methodes.

  • forEach kan je gebruiken om over elk in een array heen te gaan (loop)
  • filter method stuurt een nieuwe array met alleen de elementen die aangevraagd zijn.
  • map method transformeer je een array door elk element in een functie te zetten.
  • reduce method om alle elementen in een array to een value om te zetten.

Speciale message voor docent front-end, Alles wat onder de kopjes Research Javascript & Eloquent Javascript Book staat is voor het vak Front-end. En de twee losse pagina's Codeplan + wireframes en Progressive Enchanchment ook.

MatchingClothing👚

Research

Research Javascript [Front-end]

Eloquent Javascript Book [Front-end]

Attachments📎

Clone this wiki locally