-
Notifications
You must be signed in to change notification settings - Fork 0
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.
Sofya Gerges Productions 💜 | 2021
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.
- Template Engines
- Progressive Enchanchment Front-end:
- Formatters & Linters
- Text editors
- Command Line: Git Strategy
- Clean Code Javascript