Beslissingen nemen met if en else
Een if-opdracht voert een codeblok alleen uit als de voorwaarde true is. Met else if controleert JavaScript voorwaarden van bovenaf en stopt bij de eerste die true is.
Code alleen soms uitvoeren
Elk programma tot nu toe voerde elke regel elke keer uit. Nuttige programma's gedragen zich anders in verschillende situaties: een spel toont "You win" alleen als de score hoog genoeg is en een winkel voegt alleen bezorgkosten toe als de bestelling klein is. Met de if-opdracht kiest JavaScript.
const temperature = 31;
if (temperature >= 30) {
console.log("Hot day. Drink water.");
}
console.log("Done");De voorwaarde staat tussen haakjes na if. Het is een expressie die een boolean oplevert, meestal een vergelijking uit het vorige hoofdstuk. De code die bij true wordt uitgevoerd staat tussen accolades, die een blok vormen. Als de voorwaarde false is, slaat JavaScript het hele blok over en gaat verder na de sluitende accolade. Hierboven worden beide regels afgedrukt. Verander temperature in 20 en alleen "Done" wordt afgedrukt. De regels binnen het blok zijn twee spaties ingesprongen. JavaScript heeft die inspringing niet nodig, maar je ziet meteen welke regels bij de if horen en elke ervaren programmeur verwacht die.
else: de andere weg
Vaak wil je het ene doen als de voorwaarde true is en iets anders als zij false is. Voeg een else-blok toe. Precies één van de twee blokken wordt uitgevoerd, nooit beide en nooit geen van beide.
const n = 7;
if (n % 2 === 0) {
console.log(n + " is even");
} else {
console.log(n + " is odd");
}
// prints: 7 is oddelse if: meer dan twee keuzes
Koppel voor meerdere mogelijkheden voorwaarden aan elkaar met else if. JavaScript test ze van bovenaf. Zodra er één true is, voert het dat blok uit en slaat de rest over, ook als latere voorwaarden eveneens true zouden zijn. De laatste else vangt alles op wat hierboven nergens bij paste.
const score = 72;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B");
} else if (score >= 70) {
console.log("C");
} else {
console.log("F");
}
// prints: CDe volgorde van de voorwaarden doet ertoe. Bij een score van 95 is de eerste test al true en wordt A afgedrukt. Als de tests andersom stonden, beginnend met score >= 70, zou een score van 95 bij de eerste test stoppen en C afdrukken. Zet bij zulke overlappende bereiken de nauwste voorwaarde eerst. Code met de hand doorlopen is een goede gewoonte: kies een waarde, lees van bovenaf en zeg hardop welke tak wordt gevolgd.
Nesten en combineren
Een blok kan nog een if-opdracht bevatten, wat nesten heet. Vaak kun je diepe nesting vermijden door voorwaarden te combineren met && en || uit het vorige hoofdstuk. Deze twee stukken code doen hetzelfde en het tweede is gemakkelijker leesbaar:
if (age >= 8) {
if (height >= 120) {
console.log("You can ride");
}
}
if (age >= 8 && height >= 120) {
console.log("You can ride");
}De voorwaardelijke operator
Als je alleen tussen twee waarden hoeft te kiezen, bestaat er een compacte vorm: de voorwaardelijke of ternaire operator, condition ? valueIfTrue : valueIfFalse. Bijvoorbeeld const label = n % 2 === 0 ? "even" : "odd";. Gebruik die voor korte waardekeuzes. Voor alles met meerdere opdrachten is een gewone if en else duidelijker.
Een veelgemaakte fout is één gelijkteken in de voorwaarde schrijven: if (score = 100). Dat slaat 100 op in score in plaats van te vergelijken en het blok wordt elke keer uitgevoerd. Vergelijk altijd met ===.
if (voorwaarde) { ... } else if (andere voorwaarde) { ... } else { ... }
| voorwaarde | De booleanexpressie in if ( ) |
| blok | Opdrachten gegroepeerd in { } |
| else | Wordt uitgevoerd als de if-voorwaarde false is |
| else if | Een andere voorwaarde, alleen gecontroleerd als de voorgaande false waren |
| tak | Een van de mogelijke wegen door een if-opdracht |
| nesting | Een if binnen een andere if |
| ternair | cond ? a : b kiest een van twee waarden |
| inspringing | Spaties aan het begin van regels binnen een blok |
- Wat drukt deze code af?
const x = 5; if (x > 3) { console.log("big"); } else { console.log("small"); } - Wat drukt deze code af?
const x = 2; if (x > 3) { console.log("big"); } console.log("end");- big, then end
- Only end
- Nothing
- Wat drukt deze code af?
const t = 18; if (t >= 30) { console.log("hot"); } else if (t >= 15) { console.log("mild"); } else { console.log("cold"); } - Wat drukt deze code af?
const s = 95; if (s >= 70) { console.log("C"); } else if (s >= 90) { console.log("A"); } - Hoeveel blokken worden in een if / else if / else-keten maximaal uitgevoerd?
- Wat drukt deze code af?
const n = 10; console.log(n > 5 ? "yes" : "no"); - Wat drukt deze code af?
const a = 4; const b = 9; if (a > 5 || b > 5) { console.log("one"); } else { console.log("none"); } - Wat drukt deze code af?
const a = 4; const b = 9; if (a > 5 && b > 5) { console.log("both"); } else { console.log("not both"); } - Wat is er mis met
if (score = 100)?- Niets
- Het slaat 100 op in plaats van te vergelijken; gebruik ===
- Er moet een puntkomma binnen staan
- Wat drukt deze code af?
let msg = "start"; const n = 0; if (n) { msg = "nonzero"; } console.log(msg);
- if (voorwaarde) { ... } voert het blok alleen uit als de voorwaarde true is.
- else wordt uitgevoerd als zij false is; precies één van beide wordt uitgevoerd.
- else if-ketens worden van bovenaf gecontroleerd; de eerste ware voorwaarde wint.
- Zet de nauwste voorwaarde eerst als bereiken overlappen.
- Vergelijk met ===, nooit met één =.
Bronnen van deze cursus (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17).
Geraadpleegd: 2026-10-17