Loops
Wat ga je leren?
Je leert hoe je een stukje code meerdere keren laat draaien met een loop — zonder dezelfde regels handmatig te kopiëren. We behandelen for en while.
Theorie
Soms wil je dezelfde actie meerdere keren uitvoeren — bijvoorbeeld een tafel van 5 printen, of tien sterretjes op het scherm zetten. In plaats van tien keer dezelfde regel typen, gebruik je een loop.
for-loop — als je vooraf weet hoe vaak
for (let i = 0; i < 5; i++) {
console.log('Hallo!');
}
Lees dit als: "start met i = 0, blijf herhalen zolang i < 5, en verhoog i na elke ronde met 1". Resultaat: "Hallo!" verschijnt 5 keer.
De drie onderdelen tussen de haakjes:
- Beginwaarde:
let i = 0— een tellervariabele (vaaki). - Voorwaarde:
i < 5— zolang dittrueis, blijft de loop draaien. - Stap:
i++— wat er na elke ronde gebeurt (i++is een kortere vorm vani = i + 1).
Binnen de loop kun je i gebruiken — handig om iets te tonen dat verandert:
for (let i = 1; i <= 5; i++) {
console.log('Tafel: 5 × ' + i + ' = ' + (5 * i));
}
while-loop — zolang een voorwaarde waar is
let teller = 0;
while (teller < 5) {
console.log(teller);
teller = teller + 1;
}
Een while draait zolang de voorwaarde true is. Vergeet niet de variabele binnenin aan te passen — anders krijg je een oneindige loop die de browser laat vastlopen.
Predict
Wat zie je in de console na deze code?
for (let i = 0; i < 3; i++) {
console.log('Ronde ' + i);
}
Klik hier voor het antwoord
Ronde 0
Ronde 1
Ronde 2
De loop begint bij i = 0, herhaalt zolang i < 3 waar is, dus 0, 1 en 2. Bij i = 3 stopt de loop want 3 < 3 is false.
Probeer het zelf!
Investigate
Experimenteer:
- Verander
i <= 10naari <= 5— wat verandert er aan het aantal regels? - Verander
i++naari = i + 2— wat zie je dan? - Vervang
5 *doori *— welke uitkomst krijg je? - Probeer
i--metlet i = 10; i >= 1; i--— wat doet de loop nu?
Modify
Opdracht: Pas de loop aan zodat alleen de even producten worden getoond (2, 4, 6...).
Tip
Optie 1: stap omhoog met i = i + 2 startend bij i = 2. Optie 2: gebruik een if-check binnen de loop op i % 2 === 0.
Antwoord
Optie 1 — stap omhoog met 2:
for (let i = 2; i <= 10; i = i + 2) {
resultaat = resultaat + '5 × ' + i + ' = ' + (5 * i) + '\\n';
}
Optie 2 — filter met if:
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
resultaat = resultaat + '5 × ' + i + ' = ' + (5 * i) + '\\n';
}
}
Make
Opdracht: Bouw een aftel-functie die telt van 10 naar 1 in de console, en daarna "Lift-off!" toont. Gebruik een loop.
Tip
Begin op i = 10, blijf doorgaan zolang i >= 1, en verlaag met i-- of i = i - 1. Na de loop log je 'Lift-off!'.
Antwoord
function aftellen() {
for (let i = 10; i >= 1; i--) {
console.log(i);
}
console.log('Lift-off!');
}
Er gaat iets mis
Oneindige loop — browser bevriest
let i = 0;
while (i < 5) {
console.log(i);
// Vergeten: i = i + 1
}
i wordt nooit verhoogd, dus i < 5 blijft altijd true. De loop draait voor altijd door en de browser bevriest. Zorg altijd dat de variabele binnenin de loop verandert richting de stop-voorwaarde.
Bij een for-loop gebeurt dit minder snel omdat de stap (i++) al in het haakjes-blok staat. Bij while moet je het bewust toevoegen.