Callback-functies in JavaScript
Functies kunnen als parameters worden doorgegeven aan andere functies. Dergelijke functie-parameters worden callbacks genoemd (callback). Laten we de werking ervan bekijken aan de hand van een voorbeeld.
Stel dat we een functie willen maken die als eerste parameter een array accepteert, en als tweede - een callback, die op elk element van de array zal worden toegepast:
function each(arr, callback) {
// hier staat een code
}
Laten we de implementatie van onze functie schrijven:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // roep de callback-functie aan
}
return result;
}
Onze functie each is universeel.
Dit betekent dat we er verschillende
callbacks aan kunnen doorgeven, waardoor verschillende bewerkingen
op arrays worden uitgevoerd. Tegelijkertijd blijft de code van onze functie
onveranderd - alleen de
doorgegeven callbacks zullen veranderen.
Laten we bijvoorbeeld met behulp van onze functie elk element van een array kwadrateren. Daarvoor geven we de corresponderende callback als parameter door:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
Laten we nu de elementen van de array tot de derde macht verheffen. Hiervoor geven we als parameter een andere callback door, die deze bewerking uitvoert:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Gegeven een array met nummers. Gebruik de door ons gemaakte
functie each om elk element te verdubbelen.
Gegeven een array met strings. Gebruik de door ons gemaakte
functie each om de karakters van elke string
in omgekeerde volgorde te zetten.
Gegeven een array met strings. Gebruik de door ons gemaakte
functie each om het eerste teken van elke string
hoofdletter te maken.