Flow Control


Met Javascript heb je diverse mogelijkheden om het verloop van je programma te bepalen. Een van deze mogelijkheden is door middel van beslissingen:


Beslissingen (conditions)

Beslissingen (Engels: conditions) bepalen of een stuk code wel of niet uitgevoerd wordt, afhankelijk van het optreden van een bepaalde situatie. Men zegt ook wel: als er "aan een bepaalde conditie voldaan wordt" of dat bepaalde code "conditioneel wordt uitgevoerd".

if, else

Dit is de eenvoudigste vorm van een beslissing: als de conditie waar is wordt de code tussen { en } uitgevoerd en anders gebeurt er niks.

if(true) {
  console.log("Dit is altijd waar");
}

if(false) {
  console.log("Dit wordt nooit uitgevoerd");
}

In het volgende geval wordt als a > b de regel "a is groter dan b" geschreven. Als a niet groter is dan b, dan gebeurt er niks.

if(a > b) {
  console.log("a is groter dan b");
}

Je kunt ook iets doen als a niet groter is dan b, dat zet je dan tussen de {} haakjes na het 'else' statement:

if(a > b) {
  console.log("a is groter dan b");
}
else {
  console.log("a is kleiner dan b of gelijk aan b");
}

Vergelijkingen

Als je twee waarden wil vergelijken, dan kan je dat op verschillende manieren doen. Ze zijn hieronder opgesomd:

3 === 3;    //is gelijk aan; 
            //is 3 gelijk aan 3? Ja, dit is waar.
3 !== 3;    //is niet gelijk aan; 
            //is 3 niet gelijk aan 3? Nee, dit is niet waar.
4 < 3;      //is kleiner dan; 
            //is 4 kleiner dan 3? Nee, dit is niet waar
4 > 3;      //is groter dan; 
            //is 4 groter dan 3? Ja, dit is waar
4 <= 4;     //is kleiner dan of gelijk aan; 
            //is 4 kleiner dan of gelijk aan 4? Ja, dit is waar
4 >= 5;     //is groter dan of gelijk aan; 
            //is 4 groter dan of gelijk aan 5? Nee, dit is niet waar

Meerdere condities (AND/OR)

Als je wilt aangeven dat meerdere dingen tegelijk waar moeten zijn dan gebruik je AND, maar in Javascript schrijf je dat als &&

if(x > 0 && x < 10) {
    console.log("x is groter dan 0 EN kleiner dan 10");
}

Als je wilt aangeven dat van meerdere dingen er maar eentje waar hoeft te zijn dan gebruik je OR, maar in Javascript schrijf je dat als ||

if(x < 0 || x > 10) {
    console.log("x is kleiner dan 0 of groter dan 10");
}

Herhaling (loops)

Herhalingen (in 't Engels: loops) zijn stukjes code die herhaaldelijk uitgevoerd kunnen worden, tot er aan een bepaalde conditie voldaan wordt.

for-loops

Met een for-loop kan je een x-aantal keer een bepaald stuk code uitvoeren. De condities waaraan deze loop moet voldoen staan allen aangegeven tussen de haakjes van een for-loop:

for(initialisatie; conditie; increment) { 
    //doe iets 
}

initialisatie wordt gedaan voordat de eigenlijke loop begint conditie wordt aan het begin van elke loop-iteratie bekeken en zo lang deze nog waar is wordt een nieuwe iteratie gedaan increment wordt na elke iteratie uitgevoerd Met één iteratie bedoelen we het eenmalig uitvoeren van alle code die staat tussen de { en } na het for-statement.

Een veel voorkomende toepassing van 'for' is een teller te maken die een aantal waarden doorloopt:

for(let teller=0; teller < 10; teller++) {
    //teller is aan het begin van de loop 0
    //zolang teller kleiner is dan 10 herhaalt de loop
    //aan het eind van elke iteratie wordt er 1 opgeteld bij teller
    console.log( "teller: " + teller);
}

Merk op dat de variabele teller alleen binnen de loop bestaat.

Met een for-loop kan je ook makkelijk door alle elementen van een array lopen:

let lijst = [1,2,3,4,5];

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

De letter i (van index) wordt vaak als variabele-naam gebruikt voor for-loops.
Met lijst.length wordt de lengte opgevraagd van de array (in dit geval dus 5). De loop zal dus 5 keer worden uitgevoerd en elke keer een volgend element uit de lijst weergeven.