Frontend samenvatting Eloquent Javascript hoofdstuk 5 - norakramer1/blokTech GitHub Wiki

Chapter 5, high order functions

abstracties: als je kortere code schrijft heb je minder kans op fouten, maar een hoger abstractie level maakt het wel lastiger te lezen, je moet meer woorden en concepten kennen.

higher order functions: een functie gebruiken binnen een andere functie. Ze gebruiken de functie als argument voor een grotere functie. Het geeft je de optie om abstracties te maken over actions en niet alleen values.

Ze kunnen nieuwe functies maken

of functies die andere functies veranderen

Of zelfs een nieuwe controle flow geven

forEach is een ingebouwde Array methode die een soort for/of loop als een higher order function geeft

Script data set: Higher order functies werken goed voor data processing.

Filtering arrays: Deze functie filtert de elementen die de test niet passeren. Het verwijderd of veranderd niks aan de originele array maar maakt een nieuwe met de gefilterde data

de map methode transformeert de array door een functie toe te voegen aan alle elementen en zo een nieuwe array te bouwen. de lengte van de array is hetzelfde maar de content is gemapped naar een nieuwe vorm door de functie, het is een standaard array methode net als forEach

reduce haalt meerdere keren 1 value uit de array en combineert het met de huidige waarde

composability: high order functies zijn goed te gebruiken om operations te composeren

strings en character codes: je kunt een dataset bijvoorbeeld gebruiken om te zien wat voor script een stuk tekst gebruikt.

De some method is ook een higher-order functie die je verteld of de testfunctie true is voor een van de elementen in een array.

de countBy functie verwacht een collectie (iets waar je over kan loopen met for/of) en een functie die de naam van de groep berekend voor een element, het retourneert een array van objecten, elk van wie een groep benoemd en de hoeveelheid nummers in de groep