Hoofdstuk 5 van 12

JavaScript-loops: for, forEach, while en do-while gebruiken

4 min

Met loops voer je in JavaScript dezelfde code meerdere keren achter elkaar uit. Ze komen van pas zodra je een array wilt doorlopen of een taak een bepaald aantal keren wilt herhalen. In dit hoofdstuk bekijken we de for-loop en de while-loop, de twee die je in JavaScript het vaakst gebruikt.

De for-loop in JavaScript

Met de for-loop in JavaScript voer je code een vast aantal keren uit. Zo ziet dat eruit:

javascript
for (let i = 0; i < 5; i++) {
  console.log(i);
}

De for-loop start met de variabele ‘i’ op 0. De voorwaarde ‘i < 5’ controleert of ‘i’ kleiner is dan 5. Klopt dat, dan draait de code tussen de accolades en wordt ‘i’ met 1 opgehoogd. De loop blijft doorgaan tot de voorwaarde ‘i < 5’ niet meer waar is.

Deze code zet de getallen 0 tot en met 4 in de console.

Je kunt de for-loop ook gebruiken om een array te doorlopen:

javascript
let tableau = ['un', 'deux', 'trois', 'quatre', 'cinq'];

for (let i = 0; i < tableau.length; i++) {
  console.log(tableau[i]);
}

De for-loop doorloopt de array ‘tableau’ en gebruikt de eigenschap ‘length’ om te bepalen hoeveel elementen er zijn. Bij elke iteratie komt de waarde van het huidige element in de console.

Met de instructie ‘break’ verlaat je een for-loop voortijdig:

javascript
for (let i = 0; i < 5; i++) {
  console.log(i);
  if (i === 3) {
    break;
  }
}

continue in een for-loop

Er bestaat ook de instructie ‘continue’, waarmee je naar de volgende iteratie springt zonder de rest van de huidige iteratie uit te voeren. Zo gebruik je de instructie ‘continue’ in een for-loop:

javascript
for (let i = 0; i < 10; i++) {
  if (i % 2 !== 0) {
    continue;
  }
  console.log(i);
}

In dit voorbeeld loopt de for-loop over de getallen 0 tot en met 9. De instructie ‘continue’ zit in de loop en controleert of de waarde van ‘i’ oneven is. Is dat zo, dan gaat ‘continue’ meteen naar de volgende iteratie, zonder de rest van de code uit te voeren.

Deze code zet de even getallen van 0 tot en met 8 in de console.

Let op

De instructie ‘continue’ werkt alleen in loops, niet in een switch.

De forEach-loop in JavaScript

Met de forEach-loop in JavaScript doorloop je de elementen van een array of een object. Zo gebruik je de forEach-loop op een array:

javascript
let tableau = ['un', 'deux', 'trois', 'quatre', 'cinq'];

tableau.forEach(function(element) {
  console.log(element);
});

De forEach-loop doorloopt de array ‘tableau’ en voert de meegegeven anonieme functie uit voor elk element. De waarde van het huidige element is binnen die functie beschikbaar via de variabele ‘element’.

Deze code zet elk element van de array in de console.

Op een object gebruik je forEach in combinatie met de methode ‘Object.entries()’:

javascript
let objet = {
  un: 'valeur1',
  deux: 'valeur2',
  trois: 'valeur3'
};

Object.entries(objet).forEach(function([clé, valeur]) {
  console.log(clé + ': ' + valeur);
});

De methode ‘Object.entries()’ geeft een array van [sleutel, waarde]-paren terug, één per eigenschap van het object ‘objet’. De forEach-loop doorloopt die array en voert de meegegeven anonieme functie uit voor elk paar. De sleutel en de waarde zijn binnen die functie beschikbaar via de variabelen ‘clé’ en ‘valeur’.

Deze code zet elk paar in de vorm ‘sleutel: waarde’ in de console.

De while-loop in JavaScript

De while-loop in JavaScript voert code uit zolang de opgegeven voorwaarde waar is. Zo ziet dat eruit:

javascript
let a = 0;

while (a < 5) {
  console.log(a);
  a++;
}

De while-loop begint met de voorwaarde ‘a < 5’. Zolang die waar is, draait de code tussen de accolades en wordt ‘a’ met 1 opgehoogd. De loop blijft doorgaan tot de voorwaarde ‘a < 5’ niet meer waar is.

Deze code zet de getallen 0 tot en met 4 in de console.

Er is ook de do-while-loop, die eerst de code tussen de accolades uitvoert en de voorwaarde pas daarna controleert:

javascript
let a = 0;

do {
  console.log(a);
  a++;
} while (a < 5);

Deze do-while-loop draait minstens één keer, omdat de voorwaarde pas na de eerste uitvoering wordt gecontroleerd. Ook deze code zet de getallen 0 tot en met 4 in de console.

Neem altijd een instructie op die de variabele uit de voorwaarde van de while-loop ophoogt of verlaagt, anders krijg je een oneindige loop. Vergeet je die, dan blijft de voorwaarde altijd waar en draait de loop eindeloos door.

Zorg er dus voor dat de variabele uit de voorwaarde bij elke iteratie verandert. Zo wordt de voorwaarde op een gegeven moment onwaar en stopt de loop.

Je kunt een loop ook beëindigen voordat de voorwaarde onwaar wordt, met de instructie ‘break’. Die breekt de uitvoering van de loop meteen af en springt naar de eerstvolgende instructie erna. Zo gebruik je de instructie ‘break’ in een while-loop:

javascript
let a = 0;

while (true) {
  console.log(a);
  a++;
  if (a >= 5) {
    break;
  }
}

Deze while-loop start met de voorwaarde ‘true’, dus in principe draait hij eindeloos door. Alleen staat de instructie ‘break’ in de loop, en die wordt uitgevoerd zodra de waarde van ‘a’ 5 bereikt of passeert. Daarmee stopt de loop en gaat de uitvoering verder na de loop.

Deze code zet de getallen 0 tot en met 4 in de console.

break

De instructie ‘break’ werkt niet alleen in while-loops, maar ook in for-loops en in een switch.

Conclusie

We hebben de verschillende loops van JavaScript doorgenomen: de for-loop, de forEach-loop en de while-loop. Je hebt gezien hoe je met elk daarvan code herhaald uitvoert, en hoe je met stuurinstructies als ‘break’ en ‘continue’ het verloop van die loops bijstuurt.

Nieuwsbrief

Nieuwe tests, tutorials en projecten, per e-mail.

Reproduceerbare tests, geversioneerde code, gedateerde resultaten. Nooit spam.