If & else
1. Beslissingen (conditions)
If
en Else
zijn de meest elementaire onderdelen van beslissingen (Engels: conditions). Beslissingen 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".
2. if
Dit is de eenvoudigste vorm van een beslissing: als de conditie waar is wordt de code tussen { en } uitgevoerd en anders gebeurt er niks.
//dat wat tussen de haakjes staat is de conditie
//als deze conditie waar is, wordt de code uitgevoerd
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");
}
3. Else
Je kunt ook iets doen als a niet groter is dan b, dat zet je dan tussen de {} haakjes na het 'else' statement:
let a = 4;
let b = 8;
if(a > b) {
console.log("a is groter dan b");
}
else {
console.log("a is kleiner dan b of gelijk aan b");
}
//hier komt "a is kleiner dan b of gelijk aan b uit"
4. Else if
Het komt wel eens voor dat je achter elkaar twe vergelijkingen wil doen, bijvoorbeeld als je bij het drukken op de spatiebalk een variabele of aan of uit wil zetten.
let playState = false;
function keyPressed() {
//als key gelijk is aan ' ' (spatie)
if (key === ' ') {
//als de playState false is, maak er true van
if (playState === false) {
playState = true;
}
//als de playState true is, maak er false van
if (playState === true) {
playState = false;
}
}
}
In het bovenstaande geval wordt de variabele playState
echter nooit true, omdat na het uitvoeren van de eerste vergelijking, meteen de tweede wordt uitgevoerd en die op dat moment waar is. In de eerste vergelijking wordt er gekeken of playState
false
is, dat is het geval, dus er wordt true
van gemaakt. Daarna wordt er direct gekeken of playState
true
is, dat is zojuist het geval geworden, dus er wordt weer false
van gemaakt.
Om dit te voorkomen bestaat else if
. De else
geeft aan dat de daaropvolgende if
alleen moet worden uitgevoerd als de voorgaande if
niet waar was.
In de onderstaande code zal playState
wel afwisselend true
of false
zijn als er op spatief wordt gedrukt.
let playState = false;
function keyPressed() {
//als key gelijk is aan ' ' (spatie)
if (key === ' ') {
//als de playState false is, maak er true van
if (playState === false) {
playState = true;
}
//als de playState true is en de vorige
//if niet waar, maak er false van.
else if (playState === true) {
playState = false;
}
}
}
5. 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
6. 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");
}